EDIT :JQuery/CodeIgniter로 AJAX 호출 후 반환 된 데이터 평가
내 평가가 작동하지 않는 문제가 발견되었습니다. 내 codeIgniter 함수에서 반환되는 모든 텍스트 앞에 공백이 있으므로 "성공"을 보았을 때 실제로 "성공"했습니다. 왜 그런지 모르지만 그걸로 확실히 작업 할 수 있습니다.
다음 단계 - 새로운보기 열기 - Donny의 답변이 완벽했습니다.
내 AJAX 라이브러리의 JQuery를 사용하는 응용 프로그램에 CodeIgniter를 사용하고 있습니다. 난 그냥 AJAX 물건을 배우고있어, 그래서 아마 여기에 뭔가를 놓친거야 ...
다음 코드는 로그인 양식입니다.
목표는 양식 제출에서 ajax 호출을 사용하므로 오류를 확인하고 웹 페이지 새로 고침없이 화면에 오류 메시지를 제공 할 수 있습니다. CodeIgniter form_validation 클래스를 사용하여 모든 유효성 검사를 수행하고 있습니다.
내 codeigniter 함수는 적절한 오류 메시지 또는 "success"라는 텍스트 값을 반환합니다. 텍스트 값을 평가하고 "성공"이라고하면 다른 Ajax 함수를 호출하여 로그인 한 사용자의 홈 페이지를로드하는 데 필요한 CodeIgniter 함수를로드합니다.
"data == 'success'"문에 도달 할 때까지는 모든 것이 아래 코드에서 작동합니다.
왜 화면에 메시지가 "성공"으로 표시되기 때문에 사실인지 알 때 false가 반환됩니다.
$(document).ready(function() {
$('#registration_form').submit(function(e) {
e.preventDefault();
$.post("login", {
email : $('#email').val(),
password : $('#password').val()
}, function(data) {
$('#message').text(data);
if (data == "success") {
alert(data);
post("landingpage");
}
});
});
});
데이터 변수가 'success'값을 보유하고 있음을 클라이언트에서 확인 했습니까? 'alert ('-'+ data + '-');'를 실행하여 경고가 나오는지 확인하십시오. 그러나 확인 전에 확인하십시오. –
줄 $ ('# 메시지'). 텍스트 (데이터); 내 웹 페이지의 값을 데이터에 포함 된 것으로 변경합니다. 값 "success"를 표시합니다. 그러나 경고는 표시되지 않습니다. 조언을 주신 덕분에 – user158017