아약스 successfuly 통해 값을 제출하는 서명 양식을 구현했습니다. 값이 데이터베이스의 항목 중 하나와 일치하면 모든 것이 설정되고 값이 일치하지 않을 때 자연스럽게 사용자가 연결되지 않습니다.아약스 symfomy2 내 컨트롤러에서 응답을 얻는 방법을 찾을 수 없습니다.
문제는 컨트롤러에서 응답이 항상 200 상태로 진행되고 프로세스가 옳았거나 잘못되었는지를 알 수 없습니다.
모든 것이 기술적으로 올바르게되었을 때 PHP가 항상 200 상태를 반환하지만 내 컨트롤러에서 올바른 값을 설정하고 가져올 수 있습니다. 자바 스크립트 코드를 읽고 정상적으로 작동하는지 여부를 알 수 있습니까?
여기 내 코드의 일부입니다 :
// 컨트롤러
[...]
if ($logForm -> isValid()) {
//Check user infos in database
[...]
if (! $user) {
//We set an error
$resp = array('responseCode' => 400, "message" => "Bad authentification");
} else {
$resp = array('responseCode' => 200, "message" => "Good authentification");
}
$resp = json_encode($resp);
return new Response($resp, 200, array('Content-Type'=>'application/json'));
}
[...]
// jQuery를 도움을
$('#signInForm').submit(function(e) {
e.preventDefault();
var form = $(this).closest('form');
//console.log(form);
if(form) {
$.ajax({
type: "POST",
url: Routing.generate('ajax_sign_in'),
data: form.serialize(),
cache: false,
statusCode: {
200: function(v) {
console.log("Success");
},
400: function(e) {
console.log("Error");
}
},
dataType: 'json',
});
} else {
alert("Error submitting form");
}
})
많은 감사!
왜 상태 whitch 같은 변수를 사용하면 true 또는 false를 반환하지 않습니까? 요청 상태 코드 – Snroki
보다 사용하기가 더 쉽습니다. 이런 방식으로 오류 코드를 사용하면 네트워크 또는 다른 오류를 로그인 시도 실패와 구별 할 수 있습니까? 이전의 주석 작성자가 말했듯이, 나는 명시적인 변수를 사용할 것입니다. –
여기에 symfony가 없지만 응답 값을 반환하고 있습니다. 당신의 상태 200 자바 스크립트에서'if (v [ "message"] == "Good authentification")'을 확인할 수 있습니까? – Kami