ajax方法返回视图代码而不是在laravel中的视图上重定向

时间:2017-04-08 05:27:15

标签: ajax laravel laravel-5

我有很多单一形式的按钮,这就是为什么我使用ajax在不同的按钮点击事件上调用不同的方法。但是当我使用ajax调用方法并返回视图时,它会将视图代码作为响应发送,而我需要在该视图上重定向我的方法代码如下所示。

public function store(Request $request)
{
   return view('surat.proceed_sell');
}

我可以使用ajax重定向其他视图吗?或者任何其他方式在不同的按钮点击事件上调用不同的方法然后请告诉我。

2 个答案:

答案 0 :(得分:0)

您无法使用Ajax重定向到视图,因为Ajax需要响应。您应该做的是使用锚点重定向到页面。

首先,定义你的路线

Route::get('surat/proceed', 'SuratController@proceed');

然后使用带按钮的锚点去那个页面。表单中有多少个按钮并不重要,只要它们不是提交的类型,就不应该提交表单。

<form method="post" action="">
    <a href="/surat/proceed" class="btn btn-default">Go to proceed</a>
    <button type="submit" class="btn btn-primary">Submit</button>
</form>

如果这对您没有帮助,请使用您的表单代码更新您的问题。

答案 1 :(得分:0)

您可以做的是将控件重定向的位置作为

中的响应返回

return url('the path');

并且在您的ajax成功回调中,您可以重定向到视图

window.location = data;

应在路径文件中定义URL,以便呈现视图。