Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.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 Python请求句柄url包含回调_Javascript_Python_Api_Promise_Python Requests - Fatal编程技术网

Javascript Python请求句柄url包含回调

Javascript Python请求句柄url包含回调,javascript,python,api,promise,python-requests,Javascript,Python,Api,Promise,Python Requests,包含如何通过js调用json api的示例 <script type="text/javascript"> function myCallback(result) { alert('nb of reviews for book: ' + result.reviews.length); } var scriptTag = document.createElement

包含如何通过js调用json api的示例

           <script type="text/javascript">
            function myCallback(result) {
              alert('nb of reviews for book: ' + result.reviews.length);
            }
            var scriptTag = document.createElement('script');
            scriptTag.src = "https://www.goodreads.com/book/isbn/0441172717?callback=myCallback&format=json&user_id=123456789";
            document.getElementsByTagName('head')[0].appendChild(scriptTag);
            </script>

函数myCallback(结果){
警告('nb书籍评论:'+结果.评论.长度);
}
var scriptTag=document.createElement('script');
scriptTag.src=”https://www.goodreads.com/book/isbn/0441172717?callback=myCallback&format=json&user_id=123456789";
document.getElementsByTagName('head')[0].appendChild(scriptTag);
坦率地说,url可能包含回调函数名对我来说太奇怪了。这里的秘密是什么?有相关的js文件吗

无论如何,这是一个javascript示例。如果我想使用python
请求
做同样的工作。我该怎么做

我完全被困在这里了


谢谢您的建议。

这种类型的调用实际上只在浏览器中使用,因此它不适用于Python请求

这是一个JSONP请求的示例,它是一种发出POST请求的方法,例如,您在
foobar.com
提供服务的应用程序想要向
example.com
发出POST请求。在许多(但不是所有)情况下,出于安全原因,浏览器会阻止此类请求

在这种情况下,请求的结果被传递给回调,然后由浏览器执行回调

之前已经问过相关的问题,对JSONP有一个很好的解释——它是如何工作的,以及为什么要在这里使用它:

如果您使用的是
请求
,您将不会有跨源问题,因为您将从服务器端发出该请求。我不熟悉goodreads API,但我怀疑他们有一个可以从服务器调用的端点版本


注意:Goodreads API相当怪异,没有很好的文档记录。我尝试过这个,并且能够使用
请求
使它工作,但是例如,您需要将API密钥作为
密钥=…
而不是
用户id=…

发送,非常感谢。虽然以前从未使用过,希望以后不需要使用。顺便说一句,如果您传递
,它将工作并只返回
xml
。如果您为
json
传递
user\u id
,它只适用于浏览器,而不适用于python请求