【发布时间】:2010-08-12 12:00:28
【问题描述】:
我如何知道服务器是否开启了 JSONP?它不是我的服务器,但我尝试从呈现的 html 中访问一些信息。
提前致谢。
【问题讨论】:
标签: javascript json jquery
我如何知道服务器是否开启了 JSONP?它不是我的服务器,但我尝试从呈现的 html 中访问一些信息。
提前致谢。
【问题讨论】:
标签: javascript json jquery
对于大多数服务器,您可以在浏览器中向他们拥有的任何 JSON 页面/服务发出请求,然后在 URL 中添加一个回调函数,例如:
http://example.com/getJson?var=something
添加callback查询参数,如下所示:
http://example.com/getJson?var=something&callback=myFunction
响应而不是这个(如果它不支持 JSONP,它将看起来像这样):
{ "thing": "value" .... }
应该看起来像这样(再次,如果它支持 JSONP):
myFunction({ "thing": "value" .... });
【讨论】:
http://example.com/getJson?var=something&callback=myFunction - 一个 & 而不是 $
如果您可以将callback添加到URL,则服务器已打开JSONP:
http://example.com/api/get_info.js?callback=myfunc
服务器以 JSON 格式响应您请求的信息,并与您的回调一起包装:
myfunc({
/* json formatted data goes here */
});
【讨论】:
callback 作为回调参数时才有效。回调参数实际上可以是任何东西。
callback。例如,它适用于 jQuery 中的 JSONP 支持。当然它可以是任何东西,但这几乎没有帮助,不是吗?
您阅读了您尝试访问的 Web 服务的 API 文档。
【讨论】: