Laravel DOM 操作以显示来自控制器的视图
Laravel DOM manipulation to show the view from controller
我想使用 ajax 显示详细数据,我设法将 id 发送到控制器,但是从控制器生成的 return 仅在浏览器预览中显示。
路线:
Route::post('/event/show',[EventController::class, 'show'])
控制器:
public function show(Request $request)
{
$event = Event::find($request->id);
return view('event_show',compact('event');
}
Ajax:
function showDetailEvent(ids){
$.ajax({
url : '{{url('')}}/event/show',
type : "POST",
cache: false,
data : {id:ids,_token:'{{csrf_token()}}'},
success:function(){
// the question is right here
}
});
}
你必须对响应做一些事情,这样才会有效果。只是做一个 ajax 请求并不能为你做那件事,因为浏览器不知道你想让他做什么。
function showDetailEvent(ids){
$.ajax({
url : '{{url('')}}/event/show',
type : "POST",
cache: false,
data : {id:ids,_token:'{{csrf_token()}}'},
success:function(res){
$('.container').replaceWith(res);
}
});
}
我不知道你认为 DOM 所以你必须用你想要内容所在的元素的选择器替换 .container
。
除非您有理由(特定设计模式)这样做,否则您不会通过 ajax 请求 HTML。 Ajax 更有可能向 API 发出请求以接收 JSON 可以由 JavaScript 解释的 JSON。
我想使用 ajax 显示详细数据,我设法将 id 发送到控制器,但是从控制器生成的 return 仅在浏览器预览中显示。
路线:
Route::post('/event/show',[EventController::class, 'show'])
控制器:
public function show(Request $request)
{
$event = Event::find($request->id);
return view('event_show',compact('event');
}
Ajax:
function showDetailEvent(ids){
$.ajax({
url : '{{url('')}}/event/show',
type : "POST",
cache: false,
data : {id:ids,_token:'{{csrf_token()}}'},
success:function(){
// the question is right here
}
});
}
你必须对响应做一些事情,这样才会有效果。只是做一个 ajax 请求并不能为你做那件事,因为浏览器不知道你想让他做什么。
function showDetailEvent(ids){
$.ajax({
url : '{{url('')}}/event/show',
type : "POST",
cache: false,
data : {id:ids,_token:'{{csrf_token()}}'},
success:function(res){
$('.container').replaceWith(res);
}
});
}
我不知道你认为 DOM 所以你必须用你想要内容所在的元素的选择器替换 .container
。
除非您有理由(特定设计模式)这样做,否则您不会通过 ajax 请求 HTML。 Ajax 更有可能向 API 发出请求以接收 JSON 可以由 JavaScript 解释的 JSON。