Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跨域ajax使用脚本标记_Javascript_Jquery_Cross Domain_Script Tag - Fatal编程技术网

Javascript 跨域ajax使用脚本标记

Javascript 跨域ajax使用脚本标记,javascript,jquery,cross-domain,script-tag,Javascript,Jquery,Cross Domain,Script Tag,我阅读和阅读。如何使用脚本标记跨域查询以下内容: var nytimes_api = 'http://api.nytimes.com/svc/semantic/v2/concept/article/2010/10/06/business/media/06tribune.json?&fields=article_list&api-key=4949d84e6ed8e55dbd7352d88da21f6d:9:65735612'; // returns JSON // code acc

我阅读和阅读。如何使用脚本标记跨域查询以下内容:

var nytimes_api = 'http://api.nytimes.com/svc/semantic/v2/concept/article/2010/10/06/business/media/06tribune.json?&fields=article_list&api-key=4949d84e6ed8e55dbd7352d88da21f6d:9:65735612'; // returns JSON
// code accessing nytimes_url
// and retrieving data from it

谢谢。

研究JSONP,看看《纽约时报》API是否支持它,以及如何使用它

参考文章:

谷歌搜索JSONP提供了更多的参考资料

简而言之,JSONP使用带有参数的自定义URL向远程站点发出脚本请求。通常,其中一个参数是您的javascript函数名,返回的javascript在拥有数据时将调用该函数名。因此,您对远程站点发出脚本请求。远程服务器获取脚本请求。它从URL解析出参数,以查看您要求它做什么。其中一个参数是javascript函数名。然后,远程服务器返回一些javascript。javascript的一部分通常是您请求的数据和对URL中指定的javascript函数名的调用。当浏览器执行返回的javascript时,您的函数调用将以请求的数据作为参数进行调用

如何返回数据的细节取决于API的实现者,您必须从《纽约时报》API描述中获得


您只能将此JSONP技术与明确支持它的API一起使用。

为了按照您描述的方式使用脚本标记,您请求数据的API需要支持。更具体地说,它需要支持传递一个参数,例如
?callback=myFunction
,然后将其输出包装到该函数中,以便您可以将数据作为脚本执行

例如,如果
/api.json
返回如下内容:

{'name': 'Bob'}
您需要
/api.json?callback=myFunction
才能返回:

myFunction({'name': 'Bob'});
然后,您可以使用类似的方法为您处理脚本创建

不幸的是,《纽约时报》API目前似乎不支持JSONP,尽管有一个新的版本


为了在不使用JSONP的情况下使用此API,您需要一些服务器端组件来为您发出请求。

NYTimes是否返回纯JSON?如果是这样的话,您链接到的文章中的JSONP技术将不起作用。如果NYTimes设置为处理JSON-P,那么您可以使用jQuery轻松调用它:看看关于JSONP的内容。(您提到的技术不是真正的Ajax,只是——特别是对于像jQuery这样的库——您的代码可以以类似的方式使用它。)《纽约时报》不支持JSONP;这只是JSONOk,感谢您对JSONP的清晰解释。我以前对它的理解还不清楚,但现在我认识到《纽约时报》不支持JSONP,所以我想这条路线行不通。