[英]Method not allowed error 405 post ajax request to post route
當我嘗試通過 ajax post 請求發布到數據庫以發布路由時,我收到了一個方法不允許 405 錯誤。 請幫忙
$.ajaxSetup({
headers: { 'X-CSRF-Token' : $('meta[name="csrf-token"]').attr('content') }
});
$.ajax({
url: '{{url("HeatMapCoordinates")}}',
data:{
"finalPointArray" : finalPointsMap,
"tourId":tourId,
"picWidth":picWidth,
"picName":picName
},
async:true,
type:'post',
success:function(response){
console.log("coordinates sent");
finalPointsMap=[];
pointsMap=[];
pointsMap.push(initialPoint);
},
error:function(e){
console.log("error");
console.log(e);
}
});
我也試過
url: '{{route("HeatMapCoordinates.store")}}',
但它也不起作用我的路線是:
Route::resource('/HeatMapCoordinates','HeatMapCoordinatesController');
我的控制器功能:
public function store(Request $request)
{
$this->validate($request, array(
'tourId' => 'required',
'picWidth' => 'required',
'picName' => 'required',
'finalPointArray' => 'required',
));
...
return 'stored';
}
試試這個:
$(document).ready(function(){
$('#your_form').on('submit', function(event){
event.preventDefault();
$.ajax({
url:"{{ route('HeatMapCoordinates_store') }}",
method:"POST",
data: new FormData(this),
dataType:'JSON',
contentType: false,
cache: false,
processData: false,
success:function(data)
{
console.log(data);
// ANY CODE HERE
$('#result').html(data.result);
},
error:function(data){
console.log(data);
$('#result').html('No result. We have an ERROR ...');
}
})
});
});
並使用這樣的表格:
<form method="POST" id="your_form">
<input type="text" name="finalPointsMap">
<input type="text" name="tourId">
<input type="text" name="picWidth">
<input type="text" name="picName">
<input type="submit" name="go" value="Submit">
</form>
使用這個<div>
來顯示結果:
<div id="result"></div>
在你的<head>
:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" type="text/javascript"></script>
使用這條路線:
Route::post('/HeatMapCoordinates/store','HeatMapCoordinatesController@store')->name('HeatMapCoordinates_store');
並在您的控制器中使用此功能:
public function store(Request $request)
{
$validator = $this->validate($request, [
'tourId' => 'required',
'picWidth' => 'required',
'picName' => 'required',
'finalPointArray' => 'required'
]);
# RETURN ERRORS AS JSON
if ($validator->fails()) {
return response()->json([
'result' => 'ERROR: ' // USE $validator->errors() for example ...
]);
}
# USE YOUR INPUTS HERE, LIKE THIS
$id = $request->tourId;
return response()->json([
'result' => 'Good, ID is : '.$id
]);
}
請告訴我它是否有效:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.