我有一个复选框按钮,单击它会向后端发送一个ajax请求,告诉它盒子的状态。但是,正在执行js,但是即使在放置Log :: info等时,我也看不到控制器方法有任何生命迹象。
网络路线为:
Route::prefix("learn")->name("learn.")->middleware("auth.portal")->group(function (){
...
Route::post("/lesson/viewed", "VideoController@setViewed")->name("setViewed");
});
控制器为:
public function setViewed(Request $request){
...
DebugBar::info("setViewed Called...");
...
return response()->json([
"status" => "ok"
]);
}
Ajax调用为:
var vidId = JSON.parse(JSON.stringify( activeVidPlayButton.data("resources")))[0].lessonid;
var status = me.is(":checked");
const URL = getBaseUrl() + "learn/lesson/viewed";
const postData = {
lessonId: vidId,
status: status,
userId: userId
};
console.log(URL);
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: URL,
method: "POST",
data: postData,
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
},
success: function (data, status, jqxhr) {
console.log(data);
console.log(status);
}
});
我期望控制器有执行的任何迹象,因此我可以从那里开始工作,但什么也没看到。 Ajax请求记录了一个空的控制台行以获取数据,并且状态==“成功”,但是我在控制器方法中看不到任何东西。