gpt4 book ai didi

javascript - 使用异步 Javascript 调用接收数据

转载 作者:行者123 更新时间:2023-12-02 19:54:51 25 4
gpt4 key购买 nike

我希望使用 JavaScript 从 Web 服务端点(例如“http://www.example.com ”)请求数据。

检索后,将有一个回调函数来处理响应(这将是一个 JSON 对象)

我该怎么写呢?一个框架代码就可以了。

会是这样吗:

<script>

function callback(data)
{
// the response text would be processed here.
}
url="http://www.example.com";
var script = document.createElement('script');
script.src = url;
script.onload=callback;
document.body.appendChild(script);
</script>

提前致谢。

最佳答案

正如 @JuicyScripter 所指出的在上面的评论中...

"Wikimedia API which Wikipedia use supports JSONP callback argument."

这意味着您可以向查询添加回调...

var url = "http://en.wikipedia.org/w/api.php?action=query&prop=info|revisions&intoken=edit&titles=Main%20Page&format=json&callback=my_callback";

注意最后我添加了&callback=my_callback。将会发生的情况是,不是发送像这样的 JSON 响应...

{
query: {
pages: {
15580374: {
...
}
}
}
}

...它现在将被包装在函数调用中。这将是有效的 JavaScript,因此您的 script 请求将执行该函数并传递数据。

my_callback({
query: {
pages: {
15580374: {
...
}
}
}
});

因此,您需要的只是一个与您在查询中给出的函数同名的回调函数...

function my_callback( data ) {
console.log( data );
}

确保此功能全局可用。

然后去掉 onload 行,您的代码应该可以正常工作...

var url = "http://en.wikipedia.org/w/api.php?action=query&prop=info|revisions&intoken=edit&titles=Main%20Page&format=json&callback=my_callback";
var script = document.createElement('script');
script.src = url;
document.body.appendChild(script);

当脚本到达并运行时,它将调用您的函数,并向其传递请求的数据。

关于javascript - 使用异步 Javascript 调用接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com