Javascript 如何在https上发送Ajax POST请求

Javascript 如何在https上发送Ajax POST请求,javascript,ajax,post,https,Javascript,Ajax,Post,Https,我试图发出一个Ajax POST请求,但我一直收到一个404错误“GET 404(未找到)” 不知道是不是因为网站有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/js

我试图发出一个Ajax POST请求,但我一直收到一个404错误“GET 404(未找到)” 不知道是不是因为网站有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));

有没有关于如何让它工作的建议

您的后端/API被设置为需要身份验证,如果未经身份验证就收到请求,它将重定向到登录页面。您可以在错误响应中看到这一点:

“获取?返回URL=%2fapi%2ftest%2fsave 404(未找到)”

但另一个问题是你没有登录页面!这就是404找不到响应的原因


禁用API上的身份验证以进行测试,或者在Ajax请求中包含身份验证/凭据。

否,如果目标站点不支持HTTPS,您的浏览器首先将无法创建到它的工作连接。如果不使用HTTPS,您将永远无法获得404。您指定了请求方法POST,但错误消息显示get…请找出发生这种情况的原因,您的脚本是否首先尝试发出正确的请求,或者目标是否重定向请求,…如果我同时发送带有请求的_RequestVerificationToken,它会起作用吗?虽然我不知道怎么做。。。