gpt4 book ai didi

jquery - Safari jquery ajax 重定向

转载 作者:行者123 更新时间:2023-12-01 00:28:21 24 4
gpt4 key购买 nike

我正在对外部服务器进行 $.ajax 调用。该服务器返回一个重定向,重定向的页面返回一些 json。这在 FF 和 Chrome 上运行良好,但 Safari 和 Opera 不喜欢它。

这是我的 $.ajax 代码:

$.ajax(
{
url:url,
dataType:"json",
success:function(data)
{
console.log("success");
},
complete:function()
{
console.log("complete");
}
});

在 Firefox 和 Chrome 中,这可以正常工作 - 我的每个 Ajax 响应都会调用“成功”。然而,在狩猎和歌剧中,从来没有所谓的“成功”,只有“完成”。网络请求控制台为我提供以下信息:

resolve.json    GET 302 application/json
1817995.json GET (canceled) undefined

其中1717995.json是从resolve.json发送的重定向。我不确定为什么请求被取消(响应似乎表明了这一点)。

任何人都可以提供一些帮助吗?

最佳答案

恕我直言,这是一个跨域(来源)问题。默认情况下,您的浏览器不执行跨浏览器 ajax 请求。您应该尝试使用 jsonp 而不是 json:

dataType:"jsonp"

但这仅在服务器支持 jsonp 时才有效(在这种情况下,您还需要指定回调函数的名称)。

如果不支持 jsonp,您可以从您的服务器创建代理。基本上根本就不需要。而不是重定向只是从第 3 方服务器“下载”文件并将其输出作为响应。

如果这仅适用于较新的浏览器,那么您可以尝试 this (这是比服务器端“代理”更好的解决方案,恕我直言)

关于jquery - Safari jquery ajax 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10891740/

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