从JavaScript传递并获取ID到PHP控制器

我有一个内联可编辑表(我使用了Tabledit ),每行都有一个ID,ID应传递给控制器​​操作(Yii2),以便我将编辑后的数据保存到数据库中。 这是我的js文件中的Tabledit代码:

file.assetID = info.response; // the ID for (var i = 0; i < file.length; i++) { // the table if (file[i].type == "image/jpeg") { var type = "photo"; } else if (file[i].type == "video/mp4") { var type = "video"; } messageHtml += ''; messageHtml += '' + file[i].assetID + ''; messageHtml += '' + file[i].name + ''; messageHtml += '' + type + ''; messageHtml += '' + file[i].size + " KB" + ''; messageHtml += ''; messageHtml += ''; messageHtml += ''; } var urlID = "../save-inline-edit/" + file[0].assetID; // url plus the ID of the row $('#uploader_table').Tabledit({ url: urlID, columns: { identifier: [0, 'id'], editable: [[1, file.name]/*, [3, file.tag], [4, file.description]*/] }, onSuccess: function(data, textStatus, jqXHR) { console.log(data); console.log(textStatus); console.log(jqXHR); }, onFail: function(jqXHR, textStatus, errorThrown) { console.log(file.assetID); console.log(jqXHR); console.log(textStatus); console.log(errorThrown); } }); 

我希望在save-inline-edit ,它会指向指定的url( urlID ,其中save-inline-edit是我的控制器中的一个动作函数 – public function actionSaveInlineEdit($id){...} )检查元素(保存后),它给了我这个错误: 在此处输入图像描述

然后我放置了一个console.log来查看错误详细信息,我得到了这个: 在此处输入图像描述

“错误请求(#400):缺少必需参数:id”

这是我的控制器动作:

 public function actionSaveInlineEdit($id) { header('Content-Type: application/json'); $assetModel = $this->findModel($id); $input = filter_input_array(INPUT_POST); if ($input['action'] === 'edit') { $assetModel->title = ""; $assetModel->description = ""; $assetModel->save(false); } else if ($input['action'] === 'delete') { $assetModel->status = "deleted"; $assetModel->save(false); } echo json_encode($input); return \yii\helpers\Json::encode([ 'message' => 'success', ]); } 

我真的不知道如何解决这个问题。 如何将id传递给控制器​​? 我希望你明白这一点。 如果您有任何疑问,请告诉我。 如果您对实施有其他想法,请告诉我。

当你将id作为file.assetID放在代码的开头,并使用file [0] .assetID获取id

请使用file.assetID获取url中的id。

谢谢