응용 프로그램을 로컬에서 개발 중이며 실제 서버에서 문제가 발생했습니다.jQuery AJAX 요청 오류 상태 0
jQuery와 함께 AJAX 요청을 제출하면 오류 status:0
및 statusText: 'error'
과 함께 오류가 발생합니다.
Chrome 관리자는 요청에 대한 응답 코드를 표시하지 않으며 단순히 실패했습니다.
내가 더 자세히 조사하면 모든 데이터가 전송되었고 PHP 파일이 실제로 처리되었음을 알게되었습니다. 예를 들어 아래 요청에서 사용자가 실제로 생성되었습니다. 잘못된 응답 코드는 다른 요청이 실행되지 못하도록합니다 ('성공적인'응답에 의존하기 때문에). 여기
var cct = $.cookie('ttc_csrf_cookie'); // csrf protection
var sUrl = "<?= base_url(); ?>user/create/";
var serialized = {
name: me.name,
email: me.email,
oauth_provider: 'facebook',
oauth_uid: me.id,
ttc_csrf_token: cct
};
$.ajax({
url: sUrl,
type: "POST",
data: serialized,
error: function(someStuffHere) {
//* THIS CODE RUNS. SHOWS ERROR STATUS: 0 */
},
success: function(user_id) {
//******** THIS HERE NEVER RUNS ***********///
}
});
및 대응 PHP 코드 :
public function create() {
if($this->input->post()) {
$user['name'] = $this->input->post('name');
$user['email'] = $this->input->post('email');
$user['oauth_provider'] = $this->input->post('oauth_provider');
$user['oauth_uid'] = $this->input->post('oauth_uid');
$user['last_activity'] = date('Y-m-d H:i:s');
$user_id = $this->Users->create_user($user);
$this->session->set_userdata('user_id', $user_id);
echo $user_id;
}
}
이 두 단편은 단지 일례이다 여기
샘플 요청이다. 모든 AJAX 요청은 실시간 서버에서 작동하지 않습니다.어떻게 될 수 있습니까? 감사!
업데이트 : 내가 범위를 좁히고 결과가 에코 될 때 문제가 발생합니다. 메아리를 주석 처리 할 때 오류가 발생하지 않습니다 (물론 결과가 전송되지 않습니다).
아약스 호출에서 오류 필드를 제거하고 console.log에서 어떤 일이 발생하는지 확인하십시오 .... 오류가 정보를 제공 할 정도로 명확합니다 ...... –
도메인이 동일합니까? 다른 도메인에서 webservice에 액세스하는 경우 crossDomain을 작성해야합니다. $ .ajax – dhinesh
그래서 범위를 좁히고 결과가 echo'ing 될 때 문제가 발생합니다. 메아리를 주석 처리 할 때 오류가 발생하지 않습니다 (물론 결과가 전송되지 않습니다). –