执行Ajax请求时返回null

时间:2018-05-25 08:00:01

标签: javascript php jquery yii2

正在执行Ajax请求,但它返回的不是curent_day变量,而是返回null。

JS:

$.ajax({
            url: 'planing/next-day',
            data: {new_curent_day: $('.owl-item.center .slide_day').text()},
            dataType: 'json',
            type: 'POST',
            success: function(curent_day) {
                alert(curent_day);
            },
            error: function(xhr, status, error) {
                alert(xhr.responseText + '|\n' + status + '|\n' +error);
            }
        });

控制器:

public function actionNextDay() {
        if (Yii::$app->request->isAjax){
            $this->planing_model->curent_day = Yii::$app->request->post('new_curent_day');
            return Json::encode($this->planing_model->curent_day);
        }
    }

2 个答案:

答案 0 :(得分:0)

问题可能是您将POST数据作为JSON发送,因此您无法通过

Yii::$app->request->post('new_curent_day');

试试这个他们已经更新了JSON解析器集并通过yii获得了JSON值。

Error in accessing post json data in yii2

答案 1 :(得分:0)

使用浏览器中的Javascript控制台和调试程序查看$('.owl-item.center .slide_day')包含的内容。使您的API端点记录它在post变量中获得的内容。

变量名称中的拼写错误让我担心你可能会提到错误的东西。刨面有两个,有两个r。这段代码看起来至少是一致的,但如果我遇到这段代码,我会怀疑当前 curent 混淆了。