Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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()';错误';响应状态为200/OK时调用函数?_Jquery_Asp.net Web Api_Jsonp - Fatal编程技术网

Jquery 为什么是$.ajax()';错误';响应状态为200/OK时调用函数?

Jquery 为什么是$.ajax()';错误';响应状态为200/OK时调用函数?,jquery,asp.net-web-api,jsonp,Jquery,Asp.net Web Api,Jsonp,我正在尝试使用JQuery$.ajax()从我的WebAPI“获取”数据。这是我的密码: $.ajax({ type: "GET", url: "http://localhost:62412/api/RandomData?startTime=2013-02-23%2005%3A00%3A00&callback=?", dataType: "j

我正在尝试使用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工作正常并成功返回数据。但在客户端,我总是收到“失败”警报。我可以在firebug中看到数据


有人能告诉我为什么在响应状态为“200”时调用“error”函数吗?

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

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

error: function (data, msg) {                 
            console.log(msg)
          }

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

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

在您的配置中,如果发送到服务器的回调参数为“example”,则服务器必须使用

example( json code here )
不仅仅是

json code here
就像现在一样


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

是的,这是“parseerror”。但是我检查了我的JSON,它是有效的。还有什么会导致此错误?服务器未调用回调函数。接收到的负载应该类似于回调函数([JSON_DATA])。检查此链接()您可以发布服务器返回的数据吗?[{“ID”:“002940”,“Name”:“William”,“Latitude”:31.56,“Longitude”:-87.0},{“ID”:“002940”,“Name”:“Brian”,“Latitude”:31.56,“Longitude”:-86.98}]这是我从服务器获取的JSON。请看,在获取数据时我必须使用JSONP“Access Control Allow Origin不允许Origin null。”错误。我认为我的错误原因是我没有“托管”网页。我只是用浏览器打开的。因此,JSON工作正常。感谢您的帮助。