代码之家  ›  专栏  ›  技术社区  ›  Fabrizio RAHUL S R

扩展Ajax跨域后请求

  •  1
  • Fabrizio RAHUL S R  · 技术社区  · 10 年前

    我正在测试ExtJS v.5.1.0.107,我的目标是在不同的服务器上执行后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 回复  |  直到 10 年前
        1
  •  2
  •   GalakFayyar    10 年前

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

    如果服务器配置良好,请尝试为添加响应标头

    Access-Control-Allow-Origin: *
    

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

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

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

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

    希望这有帮助!