3 回答

TA贡献1862条经验 获得超7个赞
您可以通过渲染并返回控制器内的视图来从 ajax 调用返回原始 html,如下所示:
return view('cart', ['cart' => $request->cart])->render();
这将返回原始 HTML,您可以进一步使用它。但是,从ajax返回HTML并不是一个好方法,您可以从控制器返回JSON并根据JSON数据在前端渲染视图。

TA贡献1995条经验 获得超2个赞
正如其他人所说,你可以使用
return view('cart', ['cart' => $request->cart])->render();
在你的 jQuery 中做
.done(function(response){
document.write(response);
});
或者您可以返回应向用户显示其内容的链接,并在完成方法中重定向用户。所以在你的后端你会有
return route('cart', ['cart' => $request->cart]);
在你的前端你会有
.done(function(response){
location.href = response;
});

TA贡献1806条经验 获得超5个赞
在控制器函数中只需添加渲染方法,如下所示
public function showCart(Request $request)
{
return view('cart', ['cart' => $request->cart ])->render();
}
对于js:
$.ajax({
method: 'POST', // Type of response and matches what we said in the route
url: '{{ route('home.cart') }}', // This is the url we gave in the route
data: {'cart' : cart}, // <-- this is your POST data
success: function(response){ // What to do if we succeed
console.log(response);
},
error: function(jqXHR, textStatus, errorThrown) { // What to do if we fail
console.log(JSON.stringify(jqXHR));
console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
}
});
- 3 回答
- 0 关注
- 131 浏览
添加回答
举报