gpt4 book ai didi

jquery - 来自 Chrome 扩展的 jQuery AJAX 调用问题

转载 作者:数据小太阳 更新时间:2023-10-29 02:36:16 25 4
gpt4 key购买 nike

BLUF:从 Chrome 扩展程序运行 AJAX 调用无法正常工作。

Ajax :

$.ajax({
type: "GET",
url: "http://weather.aero/dataserver_current/httpparam?dataSource=metars&requestType=retrieve&format=xml&stationString=KFBG&hoursBeforeNow=1&fields=raw_text",
dataType: "xml",
success: function(xml){
$(xml).find("raw_text").each(function(){
var metar = $(this).text();
});

$("#ob-body").html(metar);
}
});

所以我试图从需要 GET 请求数据 XML 的站点获取天气数据。他们提供了构建 URL 请求字符串的提示,并且在将 URL 粘贴到地址栏后,相应的 XML 数据会正确显示。

接下来,我组装并运行了 AJAX 调用,但似乎什么也没有发生。我将 success 属性的函数更改为简单的“alert()”并再次运行扩展,然后弹出警告框。

警报出现的事实意味着调用成功,除非我完全出去吃午饭了……那么为什么原始功能不起作用?我意识到搜索 XML 的代码可能不正确,但在我开始处理文档之前发出警告也没有弹出,这告诉我出于某种原因它根本没有进入函数。

最佳答案

这可能是因为 AJAX 请求的同源策略限制。 Chrome 允许您在扩展程序中发出跨域 ajax 请求,但我们需要向扩展程序 list 文件添加权限,如 the document 中所示。

看起来您可能必须向 list 文件添加跨域访问权限

{
"name": "My extension",
...
"permissions": [
"http://weather.aero/"
],
...
}

关于jquery - 来自 Chrome 扩展的 jQuery AJAX 调用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757479/

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