Yii2 403 在 ajax 调用期间被禁止



我在order/my-cart中有jquery,我试图从order/delivery-verify获取数据。我的JavaScript如下

$('form#Confirm').submit(function(event){
event.stopPropagation();
event.preventDefault();
Core.ajax({
type: "GET",
dataType: "json",
url: "/order/delivery-verify",
data: $(this).serialize(),
success: function (result) {
if (typeof (result.status) != 'undefined') {
if (result.status == 200) {
window.location.href = '/order/checkout';
} else {
Core.handleInvalidServerResponse(result);
}
}
}
});
})

此脚本在subdomain.example.com中工作正常,但在另一个服务器subdomain.example-one.com中抛出 403 错误

编辑订单控制器.php

<?php
namespace frontendcontrollers;
use commoncomponentsCErrorAction;
use commonhelpersCom;
use frontendcomponentsCController;
use frontendmodelsUser;
use yii;
use frontendmodelsConfiguration;
use yiihelpersJson;
use yiihelpersArrayHelper;
use frontendmodelsOrder;
use commonhelpersMailer;
use frontendmodelsNewsletterSubscriber;
/**
* Class SiteController
* @package frontendcontrollers
*/
class OrderController extends CController
{
/**
* @return array
*/
public function actions()
{
return [
'error' => [
'class' => CErrorAction::class
],
];
}
/**
*
* @return type Json
* @Title("Checkout verify")
*/
public function actionDeliveryVerify()
{
.....
}
......
}

public function accessRules()
{
return array(
array(
'allow',
'actions'=>array('delivery-verify'),
'users'=>array('*'),
)
);
}

尝试在控制器中添加accessRules()。上面的代码允许任何用户访问delivery-verify操作。

请点击以下链接获取 Yii1.1 官方 API 文档: - Yii1.1 CC主计长 - Yii1.1 CAccessControlFilter - 身份验证和授权

最新更新