[英]Problem accessing the content of a div when that content came from an Ajax call
[英]How to redirect to Laravel route when call came from JS Ajax
我試圖在laravel控制器中創建到路由的重定向,此控制器的調用來自js文件中的Ajax調用。
示例:我加載了一個視圖localhost:8000/viewone
,在此視圖中,我運行了一個對Laravel route: routeone
進行Ajax調用的js代碼。 在鏈接到routeone
的控制器功能中,代碼執行一些數據處理,然后需要加載另一個視圖: viewTwo
。
問題是不會發生viewTwo
加載,而我得到的只是Ajax調用的onsuccess
函數中return語句中的view HTML代碼。
我試過了
通過創建新的路由viewTwo
來創建一個routeTwo
routeone
控制器,在我的routeone
控制器中,我使用會話數據重定向到該路由。
return redirect()->route('routeTwo')->with(['data'=>$data])
在routeTwo
控制器中,我獲取會話數據並返回viewTwo
。
$data = \Session::get('data');
return view('viewTwo',['data'=>$data]);
它仍然不起作用。 發生的是, viewTwo
加載是作為XHR請求發生的,我得到的HTML頁面將作為XHR響應數據加載到主瀏覽器視圖(如第一個視圖)中。
問題:當來自Js AJAX函數的調用時,如何強制重定向到/加載視圖。
通過加載或從ajax渲染html在第一個視圖頁面中這樣做
<div class="newView"></div>
通過ajax成功函數添加此行
$('.newView').html(data.html);
在控制器中
$view = view("viewnamewhatuhave",compact('data'))->render();
按外觀
$view = View::make('viewnamewhatuhaveset',[$data])->render();
return response()->json(['html' => $view]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.