【发布时间】:2021-04-22 02:16:49
【问题描述】:
我在尝试将 POST 与我的 API 一起使用时遇到了 CORS 问题。 从源“null”访问“http://localhost/finalMandatory/api/track/create.php”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP好的状态。
我尝试关注其他一些似乎有相同问题的帖子,但我很难在自己的代码中实现它。
$.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");
我希望有人可以帮助我解决我的问题。
【问题讨论】:
-
代码和详细信息应作为问题的一部分发布在这里,而不是作为非现场资源的链接。
-
Origin
null只会在脚本从 http 上下文之外执行时出现。脚本在哪里?可能是a duplicate。 -
@DanielW。脚本位于 C:\xampp\htdocs\finalMandatory\app\tracks,API 位于 C:\xampp\htdocs\finalMandatory\api\track
-
我指的不是物理位置,而是上下文。浏览器中文件的地址是以
file://开头还是http://开头? -
哦,对不起,我误会了。这是http://
标签: javascript ajax api cors