데이터베이스에 데이터를 게시하고 있지만, 전에 PHP로 설정하여 문제를 에코합니다. 'data! ='signup success '안에 if를 실행해야하는데, 작동하지 않습니다. 어떤 아이디어?중첩 된 if 문이 실행되지 않습니다.
if($u == ""){
$data = array("response" => "Please create a username");
exit(json_encode($data));
}
당신이 당신의 아약스 요청의 응답을 확인 할 수 있도록 허용 :
PHP :
if($u == ""){
echo "Please create a username";
exit();
}
JS : 데이터를 인코딩
var submitBtn = $('#signUpBtn');
submitBtn.on('click', function() {
var fn = $('#fname'),
ln = $('#lname'),
u = $('#uname'),
e = $('#email'),
p = $('#pword1'),
p2 = $('#pword2'),
fnVal = fn.val(),
lnVal = ln.val(),
uVal = u.val(),
eVal = e.val(),
pVal = p.val(),
p2Val = p2.val();
$.post('phpsrc/parsers/signUp.php',
{fn: fnVal, ln: lnVal, u: uVal, e: eVal, p: pVal},
function(data) {
if (data != 'signup success') {
if (data === 'Please create a username') {
alert('uname');
}
} else {
}
}
);
});
if (data.trim() === 'Pleas ....'을 시도하고 공백 문제가 있는지 확인하십시오. sidenote로서 jQuery는'serialize' 메소드를 가지고 있습니다 – adeneo
당신의 ajax 요청은 실패합니다 : "jQuery.post()로 요청이 에러 코드를 반환하면, 스크립트가 global .ajaxError() 메소드를 호출하지 않으면 자동으로 실패합니다. jQuery.post()에서 반환 된 jqXHR 객체의 .error() 메서드는 오류 처리에도 사용할 수 있습니다. " –
본문에서 문자열의 유효성을 검사하는 대신 JSON으로 인코딩 할 것입니다. 그렇지 않으면 쉽게 엉망이 될 것입니다. – Richard