【发布时间】:2016-06-13 13:23:48
【问题描述】:
我的问题是 - 我的索引页面有两种表格,一种用于酒店预订,另一种用于火车预订。表格切换。如果点击酒店链接,则酒店表格打开,火车也一样。
以前,我在 HotelList 页面上使用了相同的表单,当时,我只是通过 ajax 调用向 api 控制器提交表单,并在 onSuccess 函数回调中返回响应。我在这里发布了整个流程以使我的问题可读@ 987654321@
现在,索引页面上的表单和提交按钮单击时的表单完全相同,将表单数据发布到相同的 web api 控制器 api/Hotel/HotelList 但这次,我想显示我返回的响应 HotelList 页面而不是索引页。我可以轻松地在索引页上显示数据,但不知道如何在 HotelList 的表格上显示数据。
到目前为止,我已经知道是对 web api 控制器进行非 ajax 调用,然后在 post 方法中重定向,所以我尝试了这个:
$("#btn1Post").click(function (e) {
e.preventDefault();
$('<form>' + '</form>').submit({ params: { TokenId: '$("#pageInitCounter").val()' } });
它应该点击 web api 控制器,但是将 url 放在哪里。 我必须在这里编写脚本函数来显示我从 Web api 控制器返回到 HotelList 页面而不是在索引页面上的数据,这意味着在取回数据后应该重定向到 HotelList 页面。 我之前提供的 HotelList 页面的代码。
问题是我已经进行了广泛的搜索,但我发现到处都是用 ajax jquery 发布的。我看不到任何使用非 ajax 方法提交的表单并将响应数据重定向到其他页面。
我应该在这里尝试什么。如何通过完全在索引页面上的脚本函数在酒店列表页面上正确发布此数据。
是否可以在客户端或仅在服务器端页面重定向技术上可行。是否只能在控制器方法中通过重定向发布对其他页面的响应。 请指导我。
【问题讨论】:
-
删除
window.location.href = url;- 重定向到另一个页面(使所有更新当前页面的 ajax 代码毫无意义) -
我不想更新当前页面,而是我想更新指定 url 的 div 表意味着在 btn 单击后,页面 url 应该更改并且该页面上的表应该使用响应更新 @StephenMuecke
-
stackoverflow.com/questions/27405708/… 我正在尝试类似@StephenMuecke
-
那么你需要在POST方法中发布你的数据和重定向。使用 ajax 毫无意义(ajax 的全部目的是保持在同一页面上)
-
@neo,你不能使用 ajax。所以停止尝试。 Ajax 调用保持在同一页面上。如果您想重定向到其他地方,请提交您的表单,然后在 POST 方法中重定向。
标签: javascript jquery asp.net-mvc redirect asp.net-ajax