以下ajax请求失败,显示空错误消息:
$.ajax({
type: "POST",
url: loginUrl,
data: JSON.stringify({login : u, password : p}),
contentType: "application/json; charset=utf-8",
success: function(data){
console.log("========================== succes ==========================");
//Do work
},
error: function(xhr, ajaxOptions, thrownError) {
console.log("========================== fail ==========================");
console.log(xhr.responseText+"---"+xhr+"---"+xhr.status+"---"+xhr+"---"+thrownError);
console.log(arguments)
document.getElementById("info").innerHTML = JSON.parse(errMsg.responseText).error+" "+errMsg.status;
}
});
出错时console.log的输出如下:
First log: ---[object Object]---0---[object Object]---
Second log: [Object, "error", ""]
仅当使用ssl证书部署在远程服务器上时才会发生这种情况。它在当地工作正常。后端是一个红宝石应用程序。在远程服务器上测试时,请求不会显示在ruby控制台中。就像它从未发送过一样。 请求是否正确?由于空的错误消息,现在无法进行调试。
答案 0 :(得分:0)
如果您的网站使用ssl(包含https://
),则出于安全考虑,将不会发送http
个请求。确保您的loginUrl
是https
并且它应该可以正常工作。
答案 1 :(得分:0)
我在其他环境(staging而不是dev)上测试过,它运行正常。我认为dev上的证书有问题,但我不确定究竟是什么。