我想将数据从 View 传递到 Controller 以及一个指示我需要在 Controller 上执行的操作的变量
这是查看代码 函数 addUpdateData(数据)
{
alert(data);
$(function(){
$.ajax({
method : "POST",
url: "welcome/addupdate",
data: {id: data},
success : function(response)
{
alert(response);
}
});
});
}
<input type="submit" id="add" class="btn btn-primary" onclick="addUpdateData(id)" value="Add"></button>
下面是routes.php的代码
Route::post('welcome/addupdate','FormController@addUpdateData');
Controller 代码如下
public function addUpdateData(Request $req)
{
$id = $req['data'];
return $id;
}
我想在带有数据变量的 Controller 上接收发布的数据,我将在其中获取是否要添加或更新数据..
我收到不允许方法的错误 我不知道我错过了什么!!!
请帮忙
最佳答案
你快到家了。你在你的 Controller 中犯了一个错误。它应该看起来像:
public function addUpdateData($id, Request $req)
{
$input = $req->all();
return $id;
}
您的路线:
Route::post('welcome/addupdate/{id}','FormController@addUpdateData');
这是因为你没有传递带有键 data
的数据,而是直接像定义了 js 对象一样。最好像这样使用 $.post 方法:
$(function(){
$.post("welcome/addupdate/" . data, $('form').serialize(), function(response) {
alert(response);
}
});
});
我觉得比较清楚。
关于php - 如何在 laravel 中使用 javascript 的 post 方法将数据传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36985426/