【问题标题】:Ext.Ajax Cross-Domain post requestExt.Ajax 跨域发布请求
【发布时间】:2015-04-16 19:22:51
【问题描述】:

我正在测试 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”标头。 Origin 'http://192.168.1.50:22800' 因此不允许访问。

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

【问题讨论】:

    标签: ajax post extjs request cross-domain


    【解决方案1】:

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

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

    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/"
    

    希望这会有所帮助!

    【讨论】:

    • 它有帮助!缺少 PHP 标头!非常感谢您的愿意!
    • @ExDev 如果这回答了你的问题,你应该接受它作为答案。问候...
    猜你喜欢
    • 2018-03-13
    • 2018-10-28
    • 2015-04-22
    • 2014-10-16
    • 2016-07-20
    • 1970-01-01
    • 2021-11-15
    • 2018-04-12
    • 2023-03-26
    相关资源
    最近更新 更多