Ext.Ajax跨域post请求

Ext.Ajax Cross-Domain post request

我正在测试 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 cannot load http://192.168.1.60/test.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.1.50:22800' is therefore not allowed access.

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

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

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

添加响应header
Access-Control-Allow-Origin: *

此命令将允许 cross-domain 到 Ajax 操作。然后,请求的文件(test.php 例如在目标服务器上)应该包含在第一行中:

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

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

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

希望对您有所帮助!