Ext.Ajax跨域发布请求

时间:2015-02-16 09:59:53

标签: ajax post extjs request cross-domain

我正在测试ExtJS v.5.1.0.107,我的目标是在不同的服务器上执行post ajax请求。我发现了一些类似的讨论,但似乎没有什么能适用于我的场景。 这是请求代码:

    Ext.Ajax.request({
                                      url: 'http://192.168.1.60/test.php',
                                      method: 'POST',
                                      cors: true,
                                      useDefaultXhrHeader : false,
                                      params : {
                                          myPar1 : myPar1Value  
                                      },
                                      success: function () {
                                        alert('success');
                                      },
                                      failure: function () {
                                        alert('failure');
                                      }
                                    });

以下是错误消息:

  

XMLHttpRequest无法加载http://192.168.1.60/test.php。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://192.168.1.50:22800”访问。

有什么问题吗? 希望可以有人帮帮我。 谢谢大家。

1 个答案:

答案 0 :(得分:2)

确保您的文件可以从服务器访问...

如果服务器配置良好,请尝试为

添加响应标头
Access-Control-Allow-Origin: *

此命令将允许跨域通过Ajax操作。然后,请求的文件(例如,目标服务器上的test.php)应包含在第一行:

<?php header('Access-Control-Allow-Origin: *'); ?>

然后,您应该更改Apache服务器托管test.php文件的参数。在.htacess文件中:

header set Access-Control-Allow-Origin "http://192.168.1.60/"

希望这有帮助!