1

我正在尝试使用 JQuery $.ajax() 从我的 WebAPI 中“获取”数据。这是我的代码:

$.ajax({
              type: "GET",
              url: "http://localhost:62412/api/RandomData?startTime=2013-02-23%2005%3A00%3A00&callback=?",                                
              dataType: "jsonp",                 
              success: function (data) {
                  alert("success");
              },
              error: function (errorData) {                 
                alert("fail");
              }// When Service call fails
          });

我可以看到 WebAPI 工作正常并成功返回数据。但在客户端,我总是收到“失败”警报。我可以在萤火虫中看到数据。

谁能告诉我为什么响应状态为“200”时会调用“错误”函数?

4

2 回答 2

1

如果下载的数据不是有效的 json 数据并且可以正确解析,则 $.ajax 调用可能会失败。

更改错误回调并检查错误消息:

error: function (data, msg) {                 
            console.log(msg)
          }
于 2013-04-02T19:20:28.887 回答
1

返回的代码不是 JSONP。它是简单的 JSON。

在 jsonp 中,服务器必须将 JSON 对象作为函数的参数返回,并将名称作为回调参数提供。

在您的配置中,如果发送到服务器的回调参数是“示例”,则服务器必须回答

example( json code here )

而不仅仅是

json code here

就像现在一样。

使用该$.ajax函数,您不必在客户端指定回调函数名称,但服务器必须遵守它。

于 2013-04-02T19:31:56.233 回答