未调用自动完成控制器操作
AutoComplete Controller Action not being called
我有一个编辑框链接到自动完成处理程序,当我键入任何字符控制器方法本身不调用,它甚至不工作也。
jQuery$("#NameInput").autocomplete({
minChars: 3,
delay: 100,
cacheLength: 25,
autoFill: true,
source: function (request, response) {
$.ajax({
url: "/Data/GetNames", dataType: "json",
data: { id: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.label, value: item.id }; //updated code
}));
}
});
},
select: function (event, ui) {
return false;
}
});
这里是控制器方法。
c#[RequiresRole(Roles = "su, da, rv, sp, dg, ap, ua")]
[AcceptVerbs(HttpVerbs.Get)]
public string GetNames(string term )
{
//perform DB operations
return String.Empty;
}
ASPX
<input type="text" name="NameInput" id="NameInput" class="NameInputField" maxlength="80" tabindex="3" />
这里getNames
方法本身没有调用,在启动的时候,我只是注册自动完成处理程序。问题是什么?
据我所知,问题在于ajax调用。在您传递的数据中,您将request.term
分配给id
-然而您的控制器方法正在寻找一个名为term
的参数。
从
更改ajaxdata: { id: request.term }
data: { term: request.term }
或者,从
更改控制器方法public string GetNames(string term)
public string GetNames(string id)
我认为你的麻烦在url "/Data/GetNames",你应该把它改为"/Data。aspx/getname 和
[RequiresRole(Roles = "su, da, rv, sp, dg, ap, ua")]
[AcceptVerbs(HttpVerbs.Get)]
[System.Web.Services.WebMethod]
public string GetNames(string term )
{
//perform DB operations
return String.Empty;
}
这也是一个很好的文章调用ASP。Net WebMethod使用jQuery AJAX
这取决于你使用什么插件,我使用的插件http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/。
所以,我找到了解决方案,这里是演示示例http://jquery.bassistance.de/autocomplete/demo/
相关文章:
- 当通过AJAX调用时,控制器操作不会执行
- 检查是否存在任意控制器/操作
- RubyonRails环境控制器操作JavaScript响应
- 控制器操作的路由问题
- 使用查询将对象数组发布到asp.net-mvc控制器操作的正确方法是什么
- ASP.Net MVC 脚本无法使用控制器的默认操作 URL.使用控制器/操作 URL 也是如此
- 在 AJAX 调用的 zend 控制器操作中正确设置会话
- 有没有办法从 javascript 函数调用控制器操作
- 如何使用 Minitest 触发 JS 控制器操作
- Yii2中的Ajax+控制器操作
- 如何在Javascript事件上触发rails控制器操作
- ASP.NET MVC:2d数组在从javascript传递到MVC控制器操作后为null
- 如何将JavaScript文件路径映射到ASP.Net MVC控制器操作
- Rails控制器操作可以同时处理html和javascript请求吗
- Laravel 4:通过控制器操作ajax数据
- 在视图中未使用Javascript调用控制器操作
- 如何使用ROR从控制器操作调用javascript函数
- 在视图中重定向会破坏原始控制器操作(Yii)
- 控制器操作参数未从 AJAX 开机自检正确填充
- MVC $.ajax 调用从不对编辑执行控制器操作,但在添加时有效