尝试POST时出现CORS问题



当尝试使用POST与我的API时,我得到了一个CORS问题。从源'null'访问'http://localhost/finalMandatory/api/track/create.php'的XMLHttpRequest已被CORS策略阻止:对预飞行请求的响应未通过访问控制检查:它没有HTTP ok状态。

我试着遵循其他一些似乎有同样问题的帖子,但我很难在自己的代码中实现它。

$.ajax({
url: "http://localhost/finalMandatory/api/track/create.php",
type : "POST",
contentType : 'application/json',
data : form_data,
success : function(result) {
showProducts();
},
error: function(xhr, resp, text) {
console.log(xhr, resp, text);
console.log(form_data);
}
});

我也在我的api中使用这些头,我认为这足以处理CORS问题。

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");

我希望有人能帮我解决这个问题。

我猜发送给create.php的OPTION请求失败了。可能因为你的后端代码试图在这种情况下执行操作。OPTION请求应该只以CORS头和空体结束。您可以使用REST客户端(例如Postman)来检查。

最新更新