0
양식 데이터를 직렬화하고 로깅 한 다음 PHP 파일로 보내서 null을 반환합니다.AJAX가 PHP 파일에 아무 것도 보내지 않습니다.
jQuery를 :
이$('#preregister').submit(function() {
if(checkemail("prereg_email")) {
var data;
data = $(this).serialize();
console.log(data);
$('#imageloader').fadeIn();
$.ajax({
url: '/docs/adduser.php',
data: data,
processData: false,
contentType: false,
type: 'POST',
success: function (data) {
//console.log(data); //returns a string of the data.
var data = JSON.parse(data); //parses the string into an object.
console.log(data); //logs the object.
if (data.error) { alert(data.message); }
}
});
}
return false;
});
PHP는 :
<?php
$Return = array();
$Return["in"] = $_POST;
$Return["error"] = false;
$Return["message"] = "Nothing has happened.";
/* EMAIL */
$in_email = urldecode($_POST["prereg_email"]);
$Return["in_email"] = $in_email;
if (!filter_var($in_email, FILTER_VALIDATE_EMAIL)) {
$Return["error"] = true;
$Return["message"] = "Enter a valid email.";
}
if (!$in_email) {
$Return["error"] = true;
$Return["message"] = "Enter an email.";
}
str_replace('\\/', '/', json_encode($Return));
echo json_encode($Return);
?>
데이터가 돌아 오면, 그것은 말한다 : 나는 데이터를 전송하기 직전 때문에, 홀수
Object {in: Array[0], error: true, message: "Enter an email.", in_email: ""}
, 나는 그것을 기록하고 읽는다 :
prereg_email=rbross3%40gmail.com
그래서 ... 적어도 적어도 $Return["prereg_email"]
을 가져야합니다.
'adduser.php' 파일 맨 위에'session_start();'를 넣었습니까? – DanielX2010
그랬다면'FILTER_VALIDATE_EMAIL'은 아마도'@' – DanielX2010
대신'% 40'을 가지고 있기 때문에 아마 유효하지 않을 것입니다.이 console.log (데이터)에서 얻은 것을 우리에게 보낼 수 있습니까? – mbouzahir