【发布时间】:2020-08-29 06:37:29
【问题描述】:
我在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()
{
.....
}
......
}
【问题讨论】:
-
检查第二台服务器上该特定路径的权限。确保可以访问控制器操作
delivery-verify。 -
@HarishST 我无法从 OrderController 上的任何操作中得到响应
-
你的控制器中有
behaviors()方法吗? -
@HarishST OrderController 中没有行为方法
标签: php ajax controller yii2 http-status-code-403