在jquery ajax错误处理程序中访问服务器响应

时间:2018-08-14 15:33:27

标签: jquery ajax cross-domain

我正在尝试跨域使用Ajax。我总是总是收到错误代码0。我已经搜索了很多,发现这是由于服务器标头的限制。

当我检查Firebug上的ajax时,可以看到服务器的响应。所以,唯一的问题是我需要在错误处理程序中获得响应而不是成功。但是我试图在错误处理程序中打印响应,但是我变得空了

error: function (xhr, status, error) {
         alert(xhr.responseText);

这是我的ajax函数的样子

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
$.ajax({
        type: "POST",
        url: "externam_url",
        crossDomain: true,
        data: 'somedata',
        success: function (data) {
        alert(data);
            // do something with server response data
        },
        error: function (xhr, status, error) {
         alert(xhr.responseText);

    }

所以请帮助我。我的ajax工作正常,但是如何在“错误”处理程序中读取ajax响应数据

1 个答案:

答案 0 :(得分:0)

切换到Curl以获取解决方案。

$data = array('name' => 'Foo', 'id'=>'Bar'); 
    curl_setopt($ch, CURLOPT_URL, 'external_url');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);