我想将数据从View传递给Controller,并附上一个变量,指示我需要在控制器上执行什么
这是查看代码函数addUpdateData(data)
{
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');
以下是控制器的代码
public function addUpdateData(Request $req)
{
$id = $req['data'];
return $id;
}
我想在带有数据变量的控制器上接收已发布的数据,在那里我将获得是否添加或更新数据。。
我得到了方法不允许的错误我不知道我错过了什么!!!
请帮助
你快到家了。您的控制器出现错误。它应该看起来像:
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);
}
});
});
我觉得比较清楚。
不幸的是,也许您忘记给Post提供@CSRF字段作为令牌。使用@CSRF刀片,Laravel将生成令牌