Dou*_*ner 5

其他域/服务器需要支持JSONP,它基本上将JSON包装在回调中.

在jQuery中,调用看起来像这样:

$.getJSON(
     'http://otherdomain.com/api/whatever?callback=?', 
     { key: 'value', otherkey: true },
     function(data){
        //handle response
     }
);
Run Code Online (Sandbox Code Playgroud)

来自其他服务器的实际响应(如果您查看实际发送的内容)将如下所示:

// With this url:
http://domain.com/api/method?callback=the_callback_function_name

// The response would look like this:
the_callback_function_name({ "json": "data here"});
Run Code Online (Sandbox Code Playgroud)

当你提供额外的时候,jQuery getJSON方法会自动处理JSONP callback=?.请记住一些使用不同名称的网站json_callback=?.重要的是,您将其作为URL的一部分包含在内,并且不要尝试添加callback: '?'到函数的data一部分getJSON.