【问题标题】:Asp.net MVC Redirect to another view from current view page using ajax callAsp.net MVC 使用 ajax 调用从当前视图页面重定向到另一个视图
【发布时间】:2018-06-14 05:53:53
【问题描述】:

我需要从当前视图调用另一个视图,我尝试使用 ajax 调用并能够调用操作并传递参数,并且该视图正在与加载的数据绑定,但它仍然保留在同一页面中,我是ajax 新手,所以我希望任何人都可以指导我做错了什么


 $.ajax({
                                            type: 'GET',
                                            async: false,
                                            url: "@Url.Action("BookingSearchFX", "AddBooking")",
                                            contentType: 'application/json',
                                            data: { id: id },
                                            cache: false,
                                            dataType: "html",
                                            success: function (data) {
                                                SetData(data);
                                            },
                                            error: function (httpRequest, textStatus, errorThrown) {
                                                alert("Error: " + textStatus + " " + errorThrown + " " + httpRequest);
                                            }
                                        });

而且我已经使用了另一个表单提交,所以我将无法使用表单提交并尝试了 location.href = '@Url.Action("AddBooking", "BookingSearchz")?id=' + id

但是没用

【问题讨论】:

  • ajax 的全部意义在于保持在 same 页面上。 ajax 调用不能重定向。如果你想重定向,只需正常提交即可
  • 那为什么要做ajax呢?为什么不提交普通表单?但是,如果您绝对需要这种行为,您可以在 success 处理程序中通过设置 window.location.href 值(到新的 url)来做到这一点
  • 成功部分没有击中@Shyju
  • @StephenMuecke ,是的,所以我只是在寻找除了 ajax 之外还有其他方法吗
  • 正常提交就行了(不过我不明白你说的我已经用过别的表单提交了?

标签: javascript asp.net-mvc asp.net-ajax


【解决方案1】:

在您的 ajax 调用的成功函数中,使用以下重定向到其他视图:

window.location.href = "/controller/action?id=" + id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多