ExtJS在跨域故障时发送Ext.Ajax.request

时间:2016-01-26 10:58:40

标签: javascript ajax extjs extjs5

嗨,我知道这是一个老问题。

我指的是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');
        }
    });

1 个答案:

答案 0 :(得分:0)

解决方案的关键点隐藏在您所指的帖子的第一行的普通视图中;让我引用它:

  

后端正确发送Access-Control-Allow-Origin: *

嗯,您的浏览器声明您的后端没有这样做:

  

请求的资源

上没有'Access-Control-Allow-Origin'标头

问题是浏览器不允许您的代码访问它想要的任何内容。服务器必须主动允许您的页面读取json数据。服务器可以通过相应地设置Access-Control-Allow-Origin标头来指示这一点(例如,如果要特定地允许您的网站,则为target url,或者*作为通配符。

如果您不能自己找到如何在后端添加此类标题的解决方案,您可以创建一个新问题,其中包含有关您使用的后端的详细信息。