我正在尝试跨域使用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响应数据
答案 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);