请求的资源上不存在 Jquery-No 'Access-Control-Allow-Origin' 标头
Posted
技术标签:
【中文标题】请求的资源上不存在 Jquery-No \'Access-Control-Allow-Origin\' 标头【英文标题】:Jquery-No 'Access-Control-Allow-Origin' header is present on the requested resource请求的资源上不存在 Jquery-No 'Access-Control-Allow-Origin' 标头 【发布时间】:2016-04-10 01:12:30 【问题描述】:我从其他网站请求json数据,但是遇到了访问控制允许来源在标题中的问题,我不知道如何设置访问控制允许来源在标题中,我将我的源代码放在iis8中从另一个 iis8 api 源访问 json 数据。
$.ajax(
type: "GET",
url:rootURL,
xhrFields:
withCredentials: false
,
headers:
"Access-Control-Allow-Origin: ": "*",
"Access-Control-Allow-Methods: ": "GET",
"Access-Control-Allow-Headers: ": "Authorization",
,
dataType: "json",
success: function(data)
,
error: function()
alert("An error occurred while processing JSON file.");
);
【问题讨论】:
应该由服务器而不是客户端发送这些标头。 服务器必须设置这些标头,而不是请求,你不能告诉它。如果服务器上未启用它,您需要采用其他方式来获取数据。这很容易研究 我已经将它们添加到服务器的 web.config 文件中并且已经解决了!太棒了!! 【参考方案1】:这些应该在服务器中,而不是客户端:
"Access-Control-Allow-Origin: ": "*",
要在服务器中实现,对于 php:
<?php
header("Access-Control-Allow-Origin: *");
对于 ASP.NET:
Response.AppendHeader("Access-Control-Allow-Origin", "*");
对于其他人,请查看I want to add CORS support to my server 了解更多信息。
【讨论】:
非常感谢!!!我已经解决了~但是现在对于put,delete,update等其他方法,它发生Preflight的Response has invalid HTTP status code 404错误请问我知道如何正确解决它,tq这么多以上是关于请求的资源上不存在 Jquery-No 'Access-Control-Allow-Origin' 标头的主要内容,如果未能解决你的问题,请参考以下文章
django中的“请求的资源上不存在'Access-Control-Allow-Origin'标头”
如何解决请求的资源上不存在“Access-Control-Allow-Origin”标头
Http.post 请求的资源上不存在“Access-Control-Allow-Origin”标头
请求的资源发布请求上不存在“Access-Control-Allow-Origin”标头