0

正如标题所说,我有这个 Javascript 代码:

$.ajax({
      type: "GET",
      url: "http://192.168.20.249/test.brick",
      dataType: "json"
      }).done(function() { alert("success"); }).fail(function() { alert("error"); }).always(function() { alert("complete"); });

我的网络服务器发送这些数据:

200 OK
Date:  Tue, 12 Mar 2013 07:49:51 GMT

Server:  Hiawatha v8.8

Connection:  keep-alive

Transfer-Encoding:  chunked

Content-Type:  application/json

{"Test": "Hello"}

知道为什么 jQuery 认为请求失败了吗?

4

2 回答 2

1

由于您的 jquery 脚本服务器和 Web 服务器不同,因此应该是跨域问题。

您应该使用jsonp进行此通信。

下面是一个可以帮助你的例子

http://www.jquery4u.com/json/jsonp-examples/

于 2013-03-12T08:46:38.640 回答
0

也许您可以使用error回调来获取有关 jQuery 看到的错误的更多信息?

$.ajax({
    type: "GET",
    url: "http://192.168.20.249/test.brick",
    dataType: "json",
    error: function(jqXHR, textStatus, errorThrown){
        ("error: " + textStatus); //Check all parameters in this callback
    },
    success: function(){
        alert("success"); 
    }
});

编辑:跨域 ajax 并不像人们希望的那样方便。

于 2013-03-12T08:43:27.313 回答