我正在尝试发出Ajax POST请求,但我一直收到404错误“GET https://www.test.com/login.aspx?ReturnUrl=%2fapi%2ftest%2fsave 404(Not Found)” 不知道是不是因为网站有https?
这是我用过的代码:
var params = { name: "Test"};
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://www.test.com/api/test/save', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
response = JSON.parse(xhr.responseText);
console.log(reponse);
}
};
xhr.send(JSON.stringify(params));
有关如何使其工作的任何建议?
答案 0 :(得分:0)
发生的事情是您的后端/ API设置为需要身份验证,如果收到请求但未经身份验证,则会重定向到登录页面。您可以在错误响应中看到这一点:
“GET https://www.test.com/login.aspx ?ReturnUrl =%2fapi%2ftest%2fsave 404(Not Found)”
但另一个问题是你没有登录页面!这就解释了404 Not Found响应。
禁用API上的身份验证以进行测试,或者在Ajax请求中包含身份验证/凭据。