如何使用jQuery ajax调用的'contents'字段来处理响应

时间:2013-05-09 10:27:15

标签: jquery ajax json

我对网站的ajax请求有问题。

它作为响应返回一个json对象,我无法成功处理它:函数(数据)像往常一样。 我得到了

  

Uncaught SyntaxError:意外的令牌:

chrome 上的

错误,以及

  

SyntaxError:invalid label {“response”:{

on firefox ...

回复是:

{"response":{
  "header": {
    "found": 6,
    "query": "something"
  },
  "results": [
    { ... }
  ]
}

我想过使用ajax()函数的内容字段以某种方式包装响应,但是没有例子可以看到它是如何被使用的。 处理请求的任何其他想法?

这是我的电话:

$.ajax({
     url:'http://somesite.com/search/query',
     dataType: 'jsonp',
     data: { q: 'something' },
     success:function(json){
         // debugger;
         alert("Success");
     },
     error:function(err, data){
         alert("Error");
     },
});

来自jQuery网站 http://api.jquery.com/jQuery.ajax/

内容 类型:PlainObject 字符串/正则表达式对的对象,用于确定jQuery如何根据其内容类型解析响应。 (版本增加:1.5)

2 个答案:

答案 0 :(得分:0)

你收到错误的原因是因为它不是有效的JSONP,而只是普通的JSON缺少回调,除了在服务器端获取内容或让外部服务改变他们之外,你无能为力API,因为JSONP是跨域请求支持的唯一数据类型,除非启用了CORS。

答案 1 :(得分:0)