相关疑难解决方法(0)

使用jsonp内容类型的jQuery.ajax请求后的parsererror

我使用jQuery版本1.5.1来执行以下ajax调用:

$.ajax({
    dataType: 'jsonp',
    data: { api_key : apiKey },
    url: "http://de.dawanda.com/api/v1/" + resource + ".json",
    success: function(data) { console.log(data); },
    error: function(jqXHR, textStatus, errorThrown) { console.log(errorThrown); console.log(textStatus); }
});
Run Code Online (Sandbox Code Playgroud)

服务器使用有效的json对象进行响应:

{
  "response": {
    "type":"category",
    "entries":1,
    "params":{
      "format":"json",
      "api_key":"c9f11509529b219766a3d301d9c988ae9f6f67fb",
      "id":"406",
      "callback":"jQuery15109935275333671539_1300495251986",
      "_":"1300495252693"
    },
    "pages":1,
    "result":{
      "category":{
        "product_count":0,
        "id":406,
        "restful_path":"/categories/406",
        "parent_id":null,
        "name":"Oberteile"
       }
     }
   }
 }
Run Code Online (Sandbox Code Playgroud)

但是从不调用成功回调,而是错误回调产生了这个输出:

jQuery15109935275333671539_1300495251986 was not called
parsererror
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

我没有使用jQuery的额外库.

编辑:

如果我尝试使用"json"作为dataType而不是"jsonp"进行ajax调用,则服务器以空字符串响应.

jquery jsonp parse-error jquery-1.5

57
推荐指数
3
解决办法
9万
查看次数

标签 统计

jquery ×1

jquery-1.5 ×1

jsonp ×1

parse-error ×1