【问题标题】:ajax method return view code instead redirect on view in laravelajax 方法返回视图代码而不是在 laravel 中的视图上重定向
【发布时间】:2017-04-08 15:11:56
【问题描述】:

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

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

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

【问题讨论】:

    标签: ajax laravel laravel-5


    【解决方案1】:

    您可以做的是将重定向的 url 作为响应在您的控制器中返回为

    return url('the path');

    在您的 ajax 成功回调中,您可以将视图重定向为

    window.location = data;

    应该在渲染视图的路由文件中定义 url。

    【讨论】:

    • 我可以用window.location = "{{ route(route.name) }}" + data传递帖子数据
    • 虽然不会发帖
    【解决方案2】:

    您不能使用 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>
    

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

    【讨论】:

    • 显示您的表格。更新你的答案。
    • 我在页面上重定向 window.location 但我可以使用 window.location 传递帖子数据吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 2019-04-15
    • 2020-01-06
    相关资源
    最近更新 更多