为什么获胜't我的AJAX帖子重定向到正确的ActionResult
Why won't my AJAX post redirect to the correct ActionResult
设置非常简单,我知道我错过了一些愚蠢的东西。
JS:
$("#Affiliate").change(function () {
var selectedItem = $(this).val();
$.ajax({
cache: false,
type: "POST",
url: "@(Url.Action("ChangeOrg", "ScheduleStatistic"))",
data: { "organazation": selectedItem }
});
});
视图:
<select id="Affiliate" class="form_select" style="z-index: 3000; width: 100%;">
<option value="Org1">Foo</option>
<option value="Org2">Bar</option>
控制器:
public ActionResult ChangeOrg(string organazation)
{
switch (organazation)
{
case "Org1":
return RedirectToAction("Index", new { orgURL = "URL_Org1" });
break;
case "Org2":
return RedirectToAction("Index", new { orgURL = "URL_Org2" });
break;
default:
return this.View();
}
}
然而,当它达到行动结果时。。。但是,如果我键入URL"Localhost/ChangeOrg?Organaization=Org1",它就不会执行重定向操作。有什么想法吗?
服务器端重定向实际上是通过客户端跳闸完成的。重定向与ajax请求无关,因此浏览器从不调用重定向的url。
Index
操作的预期结果是什么?您将如何在ajax的succes
上使用它?
根据你真正需要的,这可能对你有用:
public ActionResult ChangeOrg(string organazation)
{
switch (organazation)
{
case "Org1":
return Index("URL_Org1");
break;
case "Org2":
return Index("URL_Org2");
break;
default:
return this.View();
}
}
更新:
如果当Affiliate
值更改时,用户应该重定向到不同的页面,则不需要ajax
:
$("#Affiliate").change(function () {
var selectedItem = $(this).val();
var url = "@(Url.Action("ChangeOrg", "ScheduleStatistic"))?organazation=" + selectedItem,
window.location.assign(url);
});
$.ajax({
cache: false,
type: "POST",
url: "@(Url.Action("ChangeOrg", "ScheduleStatistic"))",
data: { "organazation": selectedItem }
success: function(result){
if(result.Success){
window.location = "@Url.Action(newaction, newcontroller)"
}
}
});
相关文章:
- 通过javascript重定向html传递php变量
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 使用angular重定向到html页面
- 如何在chrome扩展中重定向到html页面
- 无法从jquery Mobile导航栏重定向到另一个页面
- ng视图外的链接重定向到ng视图内的页面
- 在phonegap应用程序内部重定向不起作用
- CORS-重定向到第二个GET正在接收的页面
- AJAX不会在文件上传后重定向到网页-POST方法
- 重定向时角度刷新浏览器
- 通过链接重定向不;我不在jstree中工作
- 根据select选项元素将表单重定向到不同的URL
- 通过JQuery重定向到另一个页面
- 重定向到“父窗口”
- 重定向iFrame中的父URL
- PHP-如何重定向到同一页面并更改DOM's
- chrome.tabs.update() 重定向到 'chrome-extension://invalid/'
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- 刷新后重定向到其他URL