我有一个 Ajax 调用,它将调用一个名为submit
在控制器中提交表单..
其中如下所示:
if (CSConfigurationMgr.IsMobileUrl(Request.UrlReferrer.AbsoluteUri.PathFromURL()))
return RedirectToAction("home", "mobile", new { success = true});
它重定向到主页并显示“谢谢”消息。
我尝试将 url 指定为xxxxxxx/mobile/home?success=true
它按预期工作。
我正在接受该条件并返回声明,但我没有被重定向到新页面。
我检查了路线,没有发现任何问题。
我通过放置来检查RedirectToAction
在另一个操作中,它工作正常,我被重定向到新页面。但它在这里不起作用。
Errors:
-
Cannot redirect after HTTP headers have been sent
:有时会出现(移动浏览器)
- 什么也没有发生,只是停留在同一页面上
此外,我尝试在 firebug 中进行调试。拨打电话后,我得到了流程:
www.test.com
只是我的本地主机及其端口号
POST http://www.test.com/forms/submit
这是传递数据的正确路径
GET http://www.test.com/mobile/home?success=true
我必须重定向到的路径。它一直显示加载标志,在萤火虫中不会从那里移动得更远。
我怀疑正在发出请求但没有重定向。
错误“发送 HTTP 标头后无法重定向”意味着您已经开始将 HTTP 响应返回给客户端。因此您现在无法重定向它。查看控制器方法的早期部分,看看它是否向客户端返回任何内容,并将重定向检查移至更早的位置。
唯一看起来奇怪的事情是您在控制器之前拥有视图(默认为 /{controller}/{view} ),但也许您的路由就是这样设置的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)