Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery AJAX请求错误状态0_Ajax_Jquery - Fatal编程技术网

jQuery AJAX请求错误状态0

jQuery AJAX请求错误状态0,ajax,jquery,Ajax,Jquery,我一直在本地开发应用程序,但在实际服务器上遇到了问题 每当我使用jQuery提交AJAX请求时,它都会给我一个错误,错误为status:0和statusText:'error' Chrome inspector甚至没有显示请求的响应代码,只是说失败了 当我仔细检查它时,我注意到所有的数据都被发送了,PHP文件实际处理了它。例如,在下面的请求中,确实创建了用户。错误响应代码正在阻止执行其他请求(因为它们依赖于“成功”响应) 以下是一个示例请求: var cct = $.cookie('ttc_c

我一直在本地开发应用程序,但在实际服务器上遇到了问题

每当我使用jQuery提交AJAX请求时,它都会给我一个错误,错误为
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;
    }
}