gpt4 book ai didi

javascript - 使用原始 JavaScript 获取 JSONP?

转载 作者:行者123 更新时间:2023-12-02 18:03:27 24 4
gpt4 key购买 nike

我想用原始 JavaScript(无 jQuery)从外部域读取 JSONP 数据。
所以我们说 https://www.domain.com/abc.php?foo=bar
包含:{"error":false,"data_a":"abcabc","data_b":"123-456"}

我在谷歌上找不到太多关于这方面的信息。但如果我理解正确的话,它应该像这样工作:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://www.domain.com/abc.php?foo=bar&callback=DataCallback";
</script>
</head>
<body>
<script>
function DataCallback(data) {
for (var key in data) {
var value = data[key];
alert(key+' = '+value);
}
}
</script>
</body>
</html>

我没有收到错误消息,但也没有弹出任何警报。

顺便说一句,我注意到
https://www.domain.com/abc.php?foo=bar

https://www.domain.com/abc.php?foo=bar&callback=DataCallback
两者都会在浏览器中显示 {"error":false,"data_a":"abcabc","data_b":"123-456"}
这可能是问题所在吗?因为我认为第二个链接应该显示:
DataCallback({"error":false,"data_a":"abcabc","data_b":"123-456"})

最佳答案

你有两个问题。

<小时/>

您从未发送请求

您必须先将脚本元素添加到文档中,然后才能执行它。

document.body.appendChild(script);

(在主体存在之前或定义回调函数之前不要尝试这样做)

<小时/>

服务器未使用 JSONP 进行响应

您无法像处理 JSONP 一样处理纯 JSON。服务器正在使用 JSON 进行响应(好吧,当我尝试它时,它会以购买域名的广告进行响应......也许您的意思是 example.com?)

关于javascript - 使用原始 JavaScript 获取 JSONP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20315030/

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