gpt4 book ai didi

javascript - YQL 获取返回空对象

转载 作者:行者123 更新时间:2023-12-03 04:00:43 28 4
gpt4 key购买 nike

我正在尝试从不允许 CORS 的域检索 json,并且我无权访问服务器来允许它。我已将网址替换为 googleapis 作为此处的示例。

  const url = 'https://www.googleapis.com/storage/v1/b/example-bucket/o/foo%2f%3fbar';
const yUrl = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D%22' + encodeURIComponent(url) + '%22&format=json';

fetch(yUrl)
.then(function(response){
alert(JSON.stringify(response, null, 4));
})

如果我们在浏览器本身中打开 yUrl,它可以正常工作:http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url% 3D%22https%3A%2F%2Fwww.googleapis.com%2Fstorage%2Fv1%2Fb%2Fexample-bucket%2Fo%2Ffoo%252f%253fbar%22&format=json

但是,警告(并因此返回)获取的响应是空的。

enter image description here

请引导我走向正确的方向。谢谢。

附注我不想使用 jQuery,更喜欢 JavaScript。

最佳答案

fetch(…) 调用返回一个包含响应对象的 Promise,要从中获取 JSON,您需要使用 .json() 方法,它返回一个包含 JSON 的 Promise。

因此,要查看序列化的 JSON 数据,您需要执行以下操作:

fetch(yUrl)
.then(response => response.json())
.then(json => JSON.stringify(json))
.then(function(json) {
alert(json);
})

关于javascript - YQL 获取返回空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44735021/

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