Yii2如何访问POST数据';s是使用AJAX发送的


Yii2 how to access POST data that's been sent using AJAX

我想在控制器函数中创建一个等于POST值的变量,但我不确定如何访问POST值。

答案很好,但任何调试技巧也很好。

我已经尝试过$_POST['save_id']和$_POST[0]['sve_id']

$('#save-file').click(function() {
    var fileid = $(this).data('fileid');
    $.ajax({
            type: "POST",
            url: "/files/save",
            data: { 'save_id' : fileid },
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
               //do something
                console.log(fileid);
               alert("working");
            },
            error: function (errormessage) {
                //do something else
                alert("not working");
            }
        });
});

如果代码在PHP文件中,我建议您使用正确的路径,例如:

   url: <?=Url::to(['/files/save']) ?>,

(添加use use yii'helpers'Url;的Remember)

如果不是php,请正确引用的绝对路径

保存操作中的文件控制器内部

public function actionSave()
{
    if (Yii::$app->request->isAjax) {
        $data = Yii::$app->request->post();
        //data: { 'save_id' : fileid },
        $mySaveId =  $data['save_id']
        // your logic;
        ......
    }
}