[英]update data using ajax laravel 8
我正在嘗試使用 ajax 更新數據,但 ajax 在控制器功能中不起作用
incpect 控制台中的錯誤
PATCH http://127.0.0.1:8000/userData 500(內部服務器錯誤)發送@jquery-3.5.1.min.js:2 ajax@jquery-3.5.1.min.js:2(匿名)@home: 438調度@ jquery-3.5.1.min.js:2 v.handle@jquery-3.5.1.min.js:2
ajax 腳本
$(document).ready(function(){
$(document).on("click", "#update_data", function() {
var url = "{{URL('/userData')}}";
$.ajax({
url: url,
type: "PATCH",
cache: false,
data:{
_token:'{{ csrf_token() }}',
lat: $('#lat').val(),
lon: $('#lon').val()
},
success: function(dataResult){
dataResult = JSON.parse(dataResult);
if(dataResult.statusCode)
{
window.location = "/userData";
}
else{
alert("Internal Server Error");
}
}
});
});
});
控制器中的更新功能
public function update()
{
return redirect()->route('user.home');
if(request('lat')){
userData::Where('user_id',auth()->user()->id)->update( [ 'lat' => request('lat'), 'lon' => request('lon') ]);
}
return json_encode(array('statusCode'=>200));
}
路線
Route::Patch('/userData','UserController@update');
您首先要返回重定向,它將首先運行。 您需要將其刪除,因此代碼應為:
public function update(Request $request)
{
if($request->has('lat')){
$update = userData::where('user_id',auth()->user()->id)
->update([
'lat' => $request->lat,
'lon' => $request->lon
]);
if ($update) {
return response()->json([
'statusCode' => 200
]);
}
}
return response()->json([
'statusCode' => 500 //for internal server error
])
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.