问题 我怎么知道服务器是否启用了JSONP?


我怎么知道服务器是否启用了JSONP?它不是我的服务器,但我尝试从渲染的html访问一些信息。

提前致谢。


3321
2017-08-12 12:00


起源



答案:


对于  服务器,您可以在浏览器中向他们所拥有的任何JSON页面/服务发出请求,只需在URL中添加回调函数,例如,如果是这样:

http://example.com/getJson?var=something

添加 callback 查询参数,如下所示:

http://example.com/getJson?var=something&callback=myFunction

响应而不是这个(它  如果它不支持JSONP,看起来像这样:):

{ "thing": "value" .... }

应该是这样的(再次, 如果 它支持JSONP):

myFunction({ "thing": "value" .... });

13
2017-08-12 12:04



对,有效的话 最。 :-) - Adhip Gupta
应该是第二个网址 http://example.com/getJson?var=something&callback=myFunction  - a而不是$ - Hamish Downer
@Hamish - 确实应该,我错了,修复了!并谢谢:) - Nick Craver♦


答案:


对于  服务器,您可以在浏览器中向他们所拥有的任何JSON页面/服务发出请求,只需在URL中添加回调函数,例如,如果是这样:

http://example.com/getJson?var=something

添加 callback 查询参数,如下所示:

http://example.com/getJson?var=something&callback=myFunction

响应而不是这个(它  如果它不支持JSONP,看起来像这样:):

{ "thing": "value" .... }

应该是这样的(再次, 如果 它支持JSONP):

myFunction({ "thing": "value" .... });

13
2017-08-12 12:04



对,有效的话 最。 :-) - Adhip Gupta
应该是第二个网址 http://example.com/getJson?var=something&callback=myFunction  - a而不是$ - Hamish Downer
@Hamish - 确实应该,我错了,修复了!并谢谢:) - Nick Craver♦


如果可以添加,则服务器已启用JSONP callback 到URL:

http://example.com/api/get_info.js?callback=myfunc

并且服务器以JSON格式响应您请求的信息,并使用您的回调包装:

myfunc({
    /* json formatted data goes here */
});

2
2017-08-12 12:03



实际上,没有。这仅在服务器正在寻找时才有效 callback 是回调参数。回调参数实际上可以是任何东西。 - Adhip Gupta
标准是 callback。例如,它将与jQuery中的JSONP支持一起使用。当然它可以是任何东西,但这几乎没有帮助,是吗? - Magnar


您阅读了您尝试访问的Web服务的API文档。


-3
2018-02-07 13:27