我是 Laravel 的新手。嘗試將 ID 從視圖傳遞到控制器但出現錯誤
發布http://127.0.0.1:8000/getbuffaloidformonitor 404(未找到)
這是我的 View BuffaloMonitor :
$(document).on('click', '.viewmonitormodal', function() {
var modal_data = $(this).data('info').split(',');
$('#viewbuffaloID').val(modal_data[1]);
var buffaloid = document.getElementById('viewbuffaloID').value// get buffalo id from textbox to get data for that ID
alert(buffaloid);
//alert(data);
$(function() {
$.ajax({
method : "POST",
url: "/getbuffaloidformonitor",
data: {
'_token': $('input[name=_token]').val(),
'id': buffaloid,
},
success : function(response) {
alert(response);
}
});
});
}
這是 BuffalomonitorCONtroller :
public function getbuffaloidformonitor(Request $req) {
$data = buffalodata::find($req->id);
alert(data);
$id = $req('data');
return $id;
}
這是路線
Route::post('/getbuffaloidformonitor/{id}','App\Http\Controllers\BuffalomonitorController@getbuffaloidformonitor')->name('getbuffaloidformonitor');
uj5u.com熱心網友回復:
您的發布路線有,{id}但不是必需的。這就是你需要的Route::post('/getbuffaloidformonitor','App\Http\Controllers\BuffalomonitorController@getbuffaloidformonitor')->name('getbuffaloidformonitor');
uj5u.com熱心網友回復:
將id傳遞給鏈接http://127.0.0.1:8000/getbuffaloidformonitor
當你寫路線
Route::post('/getbuffaloidformonitor/{id}','App\Http\Controllers\BuffalomonitorController@getbuffaloidformonitor')->name('getbuffaloidformonitor');
uj5u.com熱心網友回復:
你只是通過路由引數傳遞 id,所以 URL 必須像這樣
http://127.0.0.1:8000/getbuffaloidformonitor/yourbuffaloid
您需要更改網址。
$.ajax({
method : "POST",
url: "/getbuffaloidformonitor/" buffaloid,
data: {
'_token': $('input[name=_token]').val(),
//'id': buffaloid, remove this line
},
success : function(response) {
alert(response);
}
});
如果您在刀片模板中使用此腳本,只需使用
const url = '{{ route("getbuffaloidformonitor",":id") }}'
$.ajax({
method : "POST",
url: url.replace(':id',buffaloid),
data: {
'_token': $('input[name=_token]').val(),
//'id': buffaloid, remove this line
},
success : function(response) {
alert(response);
}
});
如果您的路線 {id} 是可選的
Route::post('/getbuffaloidformonitor/{id?}','App\Http\Controllers\BuffalomonitorController@getbuffaloidformonitor')->name('getbuffaloidformonitor');
對您的 id 路由有疑問,您可以通過路由引數傳遞 id 或者您可以通過資料發布傳遞 id。
在控制器中
public function getbuffaloidformonitor(Request $req, $id = null)
{
// id is get from route params
$getId = $req->get('id') // this one get from data post.
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/406651.html
標籤:
