【发布时间】:2020-04-28 13:23:34
【问题描述】:
以下代码用于通过 jquery ajax 调用 Login rest api,但它返回 403 错误。我想知道我是否错过了 ajax 调用中的任何必要参数,或者它是服务器端错误。该源(HTML 文件)和目标(API)都在同一个云服务器中。
但是 api 在邮递员中运行良好,没有任何错误
$.ajax({
type: "POST",
url: 'https://mzzzzcloudx.am.co.in/login',
dataType: 'json',
data: {
"login": "abcd@gmail.com",
"password": "12345"
}, //{"login":$("#login").val(), "password":$("#pass").val()},
contentType: "application/json",
headers: {
"Content-type": "application/json",
"Access-Control-Allow-Origin": "*"
},
success: function(data) {
console.log(data);
},
error: function(err) {
alert(err); //returns 403 error
console.log(err);
}
});
【问题讨论】:
-
AJAX 请求本身看起来不错,尽管
Access-Control-Allow-Origin标头可以删除,因为它应该在来自服务器的响应中,而不是来自客户端的请求。如果这对您不起作用,那么您的请求与服务器期望的内容之间存在实现问题。因此,我们无能为力 -
您可以尝试对数据进行字符串化
data: JSON.stringify(your-data)吗? -
问题似乎出在服务器端...可能是发送的数据没有使用正确的属性名称?
-
我试过 JSON.stringify 但得到同样的错误。我如何确定这是服务器端问题?
-
请张贴您的 Postman 通话截图。
标签: javascript jquery ajax cors http-status-code-403