嗨,我知道这是一个老问题。
我指的是this,但仍然无效。
Chrome显示以下错误消息:
XMLHttpRequest无法加载 目标网址 。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。来源' 我的网址 '因此不允许访问。
这是我的代码:
Ext.Ajax.request({
url: 'target url',
method: 'POST',
cors: true,
useDefaultXhrHeader: false,
success: function() {
alert('success');
},
failure: function() {
alert('failure');
}
});
答案 0 :(得分:0)
解决方案的关键点隐藏在您所指的帖子的第一行的普通视图中;让我引用它:
后端正确发送
Access-Control-Allow-Origin: *
嗯,您的浏览器声明您的后端没有这样做:
请求的资源
上没有'Access-Control-Allow-Origin'标头
问题是浏览器不允许您的代码访问它想要的任何内容。服务器必须主动允许您的页面读取json数据。服务器可以通过相应地设置Access-Control-Allow-Origin
标头来指示这一点(例如,如果要特定地允许您的网站,则为target url
,或者*
作为通配符。
如果您不能自己找到如何在后端添加此类标题的解决方案,您可以创建一个新问题,其中包含有关您使用的后端的详细信息。