我从我的asp.net窗体中调用这个函数,并在调用ajax时在firebug控制台上获得以下错误。
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at 07000. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
var url= 'http://anotherdomain/test.json'; $.ajax({ url: url,crossOrigin: true,type: 'GET',xhrFields: { withCredentials: true },accept: 'application/json' }).done(function (data) { alert(data); }).fail(function (xhr,textStatus,error) { var title,message; switch (xhr.status) { case 403: title = xhr.responseJSON.errorSummary; message = 'Please login to your server before running the test.'; break; default: title = 'Invalid URL or Cross-Origin Request Blocked'; message = 'You must explictly add this site (' + window.location.origin + ') to the list of allowed websites in your server.'; break; } });
注意:我没有服务器端权限(API / URL)更改。
解决方法
当您尝试访问其他域的资源时,通常会发生这种情况。
这是一个安全功能,可避免每个人都可以自由访问该域的任何资源(例如,可以访问这些资源,以在海盗域上拥有完全相同的网站副本)。
当代码发送请求时,您的浏览器控制台中将有一个“200 OK”响应代码,这意味着该资源被访问,但它没有授予共享该资源的权限。它通过不允许“访问控制允许原点”来实现。
要更改,您必须在请求的域文件(notyourdomain.com)的.htaccess中写入:
<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>
和平与守则;)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。