【问题标题】:Sending ajax request in yii2: Cross-Origin Request Blocked在 yii2 中发送 ajax 请求:Cross-Origin Request Blocked
【发布时间】:2016-04-11 10:02:48
【问题描述】:

这是我的脚本:

$.post('index.php?r=site/filterbyprice',{
        price_range:values,
        _csrf : $("#csrftoken").val()
        }
        ,function(r){
            console.log(r);
            if(r==""){
                $("#all-ads").html('<div class="error-page"></div>');
            }
            else{
                $("#all-ads").html(r);  
            }
    });

控制器代码:

public function actioAbc(){
    echo 'inside abc';
}

我面临以下错误:跨域请求被阻止:同源策略不允许读取位于http://mandigoods.com/frontend/web/index.php?r=site/abc 的远程资源。 (原因:CORS 标头 'Access-Control-

【问题讨论】:

标签: ajax yii2


【解决方案1】:

可能是标题配置问题。首先,尝试生成您的网址:

$url = yii\helpers\Url::to(['site/filterbyprice']);

并将其包含在您的视图中,如下所示:

$this->registerJs(<<<JS

$.post('{$url}',{...});

JS;
);

不包括应该由 Yii2 自动处理的_csrf : $("#csrftoken").val()

然后,我会检查您的服务器配置(Apache / Nginx)关于您的标头,检查this answer 的配置。

【讨论】:

    猜你喜欢
    • 2021-08-08
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    相关资源
    最近更新 更多