如何解决从jQuery自动完成选择中触发控制器动作
| 我有一个jQuery自动选择框,显示正确的数据。现在,当选择一个项目时,我想启动一个ASP.NET MVC 3控制器。然后,控制器应重定向到视图。这是我的jQuery自动完成代码(我确定第二个Ajax调用中缺少某些内容,但是我还没有找到它):<script type=\"text/javascript\">
$(function () {
$(\"#Client\").autocomplete({
source: function (request,response) {
$.ajax({
url: \'Entity/GetClientAutoComplete\',type: \'POST\',dataType: \'json\',data: { query: request.term },success: function (data) {
response($.map(data,function (item) {
return { label: item,value: item };
}))
}
})
},minLength: 1,select: function (event,ui) {
$.ajax({
url: \'Entity/GetApplicationsByName/\' + ui.item.value,type: \'POST\'
})
}
});
});
</script>
这是我要调用的控制器:
public ActionResult GetApplicationsByName(string id)
{
ViewBag.Client = id;
var apps = _service.GetDashboardByName(id);
return View(\"Dashboard\",apps.ToList());
}
当我看着Firebug中的Ajax调用触发时,我看到了正确的URL配置,但是没有其他反应。它的作用好像是要加载某些内容而不是发送某些内容。我很困惑。感谢您的指导。
解决方法
好吧,您以
POST
的形式向GetApplicationsByName
控制器发送了id
,控制器正在发回视图。
如果要重定向,可以使用以下命令:
select: function (event,ui) {
window.location.href = \'Entity/GetApplicationsByName/\' + ui.item.value;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。