[英]Yii2 403 forbidden during ajax call
我在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 錯誤
編輯OrderController.php
<?php
namespace frontend\controllers;
use common\components\CErrorAction;
use common\helpers\Com;
use frontend\components\CController;
use frontend\models\User;
use yii;
use frontend\models\Configuration;
use yii\helpers\Json;
use yii\helpers\ArrayHelper;
use frontend\models\Order;
use common\helpers\Mailer;
use frontend\models\NewsletterSubscriber;
/**
* Class SiteController
* @package frontend\controllers
*/
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('*'),
)
);
}
嘗試在 controller 中添加accessRules()
。 上面的代碼允許任何用戶訪問delivery-verify
操作。
請按照以下鏈接獲取官方 Yii1.1 API 文檔: - Yii1.1 CController - Yii1.1 CAccessControlFilter -身份驗證和授權
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.