我正在尝试向我的服务器发出AJAX
请求。我第一次在我的html文档中的<script>
标记中引用了lib(在web中)。我使用以下方法做到了这一点:
$.ajax({
url: api_url + "movie/create",
type : "POST",
contentType : 'application/json',
data : JSON.stringify(form_data),
success : function(response) {
do something
},
error: function(xhr, resp, text){
show error
}
});
我收到了这个请求:
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:ru,en;q=0.8
Connection:keep-alive
Host:*****
Referer:****
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 YaBrowser/17.10.0.2017 Yowser/2.5 Safari/537.36
X-Requested-With:XMLHttpRequest
比我开始重构我的应用程序,并从npm下载lib(&#34; npm i jquery&#34;)。因此,如果我以相同的方式请求(如上所示),我会收到此请求:
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:ru,en;q=0.8
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:***
Origin:http://localhost:3000
Referer:http://localhost:3000/
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 YaBrowser/17.10.0.2017 Yowser/2.5 Safari/537.36
服务器响应错误Content-Type is not allowed by Access-Control-Allow-Headers in preflight response
。
那么,我如何使用content-type
标题而不是Access-Control-Request-Headers
发布请求?
答案 0 :(得分:0)
您的问题出在服务器端。安全浏览器仅接受来自同一域的请求。因此,您需要在后端允许所有原点请求,或者您可以创建具有特定原点的数组。
答案 1 :(得分:0)
尝试在“url: api_url + "movie/create",
”
dataType: "JSONP",