jQuery AJAX请求错误状态0
我一直在本地开发应用程序,但在实际服务器上遇到了问题 每当我使用jQuery提交AJAX请求时,它都会给我一个错误,错误为jQuery AJAX请求错误状态0,ajax,jquery,Ajax,Jquery,我一直在本地开发应用程序,但在实际服务器上遇到了问题 每当我使用jQuery提交AJAX请求时,它都会给我一个错误,错误为status:0和statusText:'error' Chrome inspector甚至没有显示请求的响应代码,只是说失败了 当我仔细检查它时,我注意到所有的数据都被发送了,PHP文件实际处理了它。例如,在下面的请求中,确实创建了用户。错误响应代码正在阻止执行其他请求(因为它们依赖于“成功”响应) 以下是一个示例请求: var cct = $.cookie('ttc_c
status:0
和statusText:'error'
Chrome inspector甚至没有显示请求的响应代码,只是说失败了
当我仔细检查它时,我注意到所有的数据都被发送了,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 ***********///
}
});
这两个片段只是一个示例。所有AJAX请求都无法在实时服务器上工作
可能是什么?谢谢
更新:我已经缩小了范围,在回显结果时会出现问题。当我注释掉echo时,不会抛出任何错误(当然,不会发送任何结果) 发现问题是由CodeIgniter中的
compress\u输出
选项引起的。当设置为true时,echo
不起作用。感谢所有试图帮助你的人 暂时从ajax调用中删除错误字段,看看console.log中发生了什么……错误将足够清楚,可以为您提供信息……域是否相同?如果您是从不同的域访问Web服务,那么必须在$.ajax中设置crossDomain:true,因此我缩小了范围,在回显结果时会出现问题。当我注释掉回音时,不会抛出任何错误(当然,不会发送任何结果)。提交按钮是什么类型的?您是指输入按钮吗?没有。服务器接收到的数据很好,但在回显结果时会抛出错误(即使您只是执行echo true
或echo json_encode(true)
)。
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;
}
}