否'访问控制允许来源'标头存在于请求的资源上
No 'Access-Control-Allow-Origin' header is present on the requested resource
首先,我知道有人问了很多关于这方面的问题,但我确实试图找出问题所在,但没有任何帮助。我正在使用C#、ASP.NET、Javascript、AJAX,并试图使用API来获取一些信息,但我每次都会收到这个错误。当我尝试使用不同的API时,效果非常好。API状态为活动,但每次响应都失败。
错误看起来像:1
我在配置文件中添加了权限:
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
但这对我没有帮助。我现在该怎么办?我试了几个小时,结果还是一样。
尝试在ajax调用中添加jsonp和crossDomain,但这对我也没有帮助。
$.ajax({
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
crossDomain : true,
dataType: 'jsonp',
url: url + id,
type: 'GET',
contentType: 'application/json;',
success: function (valid) {
if (valid) {
} else {
}
}
});
}
感谢大家的每一个回答。
向致以最良好的问候
如果您正在使用ASP.NET Web Api,请尝试在http配置中启用cors。
public static void Register(HttpConfiguration config)
{
config.EnableCors();
config.MapHttpAttributeRoutes() .......
我成功地对这样一个API进行了ajax调用,如…
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
还记得用EnableCors Attribute 装饰Api控制器
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class TestController : ApiController
{
// Controller methods not shown...
}
更多信息,请访问:http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
相关文章:
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- "资源不足错误“;当从Chrome控制台重复发出ajax请求时
- ajax请求返回me“;错误404”;即使资源存在
- XMLHttpRequest无法加载.否'访问控制允许来源'标头存在于请求的资源上
- 将servlet请求从javascript发送到java给出了“;请求的资源不可用”;
- 否'访问控制允许来源'请求的资源上存在标头.-Pinterest oauth实现
- 否'访问控制允许来源'标头存在于请求的资源上.起源'http://localhost:8100&
- 否'访问控制允许来源'标头存在于请求的资源上.原点''因此不允许访问
- 否'访问控制允许来源'当跨域设置为true时,请求的资源错误中存在标头
- AngularJS:没有'访问控制允许来源'标头存在于请求的资源上
- 亚马逊s3 Javascript-否'访问控制允许来源'标头存在于请求的资源上
- 是否有任何事件在浏览器请求另一个资源(如图像)之前触发
- 在AngularJS$资源模块上请求之前获取URL
- Angular$http$资源等价于PDF GET请求
- Azure Blob 存储 请求的资源错误中不存在访问控制允许源标头
- Socket.io 请求的资源上不存在“访问控制允许源”标头.因此,不允许访问源“http://localhost”
- Windows上的CouchDB说请求的资源上不存在“Access-Control-Allow-Origin”标头
- 跨源资源错误:请求的资源上不存在“访问控制允许源”标头
- 区分对$http的应用程序调用和 Angular 对拦截器中静态资源的请求
- 什么会导致Firefox在执行外部脚本后多次请求资源