gpt4 book ai didi

javascript - 跨域 ajax 请求成功事件不会触发

转载 作者:行者123 更新时间:2023-11-30 10:16:23 24 4
gpt4 key购买 nike

这是一个非常简单的场景:

我发送了一个针对不同域的 ajax 请求:

$(function(){
$.ajax({
url: "http://www.drivescheduler.com/functions.php?function=getHighSchools&code=" + $("#code").val(),
type: 'get',
async: true,
crossDomain: true,
beforeSend: function(xhr){
xhr.withCredentials = true;
},
success: function(x, status, xhr){
alert();
}
});
});

在接收 ajax 请求的域上,我已经正确配置了 CORS header :

header('Access-Control-Allow-Origin: http://temp.jfdin.net');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Allow-Headers: Content-MD5, X-Alt-Referer');
header('Access-Control-Allow-Credentials: true');
header("Content-Type: application/json; charset=utf-8");

我可以通过 Chrome 调试工具看到正在发送的请求和收到的正确响应,但我没有收到 alert()
换句话说,成功事件永远不会被触发。
为什么会这样?我该如何解决?

最佳答案

您请求的 URL 以 JSON 内容类型而非 HTML 正文响应。

jQuery 将无法将 HTML 解析为 JSON 和错误。

关于javascript - 跨域 ajax 请求成功事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461899/

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