gpt4 book ai didi

javascript - Google News API 给出错误 Uncaught SyntaxError : Unexpected token ')'

转载 作者:太空宇宙 更新时间:2023-11-04 15:48:59 25 4
gpt4 key购买 nike

最初我写了一些这样的代码:

var val="MSFT";
$.get('https://www.google.com/finance/company_news?q='+val+'&output=rss',
function (data) {
console.log(data);
});

该代码在本地运行良好。但是当我尝试从 GitHub 调用相同的函数时,它给了我一个关于 CORS 的错误。

因此,我尝试使用以下客户端代码:

var nws_lbl = "MSFT";
var news_url = 'https://www.google.com/finance/company_news?q='+nws_lbl+'&output=rss&callback=? ';

$.ajax({
url: news_url,
data: {
format: 'json'
},
error: function () {
console.log("Error while getting data");
},
dataType: 'jsonp',
success: function (data) {
console.log(data);
}
});

但是我收到以下错误:

enter image description here

在网络中我得到 200 这意味着响应是正确的。

enter image description here

总是会出错。不知道我错过了什么。有人可以帮忙吗?

最佳答案

您可以通过 CORS proxy 提出请求来绕过 CORS 限制。 ,像这样:

var val="MSFT",
proxyUrl = 'https://cors-anywhere.herokuapp.com/',
targetUrl = 'https://www.google.com/finance/company_news?q='+val+'&output=rss';

$.get(proxyUrl + targetUrl,
function (data) {
console.log(data);
});

代理向 targetUrl 发出请求,获取响应,添加 Access-Control-Allow-Origin 响应 header 和所需的任何其他 CORS header ,然后传递该 header 返回到您的请求代码。添加了 Access-Control-Allow-Origin header 的响应就是浏览器看到的内容,因此浏览器允许您的前端代码实际访问该响应。

<小时/>

就问题中的第二个代码片段而言,我认为它对您不起作用的原因是 https://www.google.com/finance/company_news 不有什么办法返回JSONP。因此, formatcallback 参数似乎不会导致您想要的结果,而是导致一些非 JSONP 响应,您的代码无法解析这些响应,因为它不在预期的格式。

关于javascript - Google News API 给出错误 Uncaught SyntaxError : Unexpected token ')' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43314070/

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