Asp.net mvc jQuery自动完成不使用Json数据
有一大堆教程在那里解释如何做到这一点,例如和 看起来很容易啊?然而,我还是设法在这上面浪费了半天时间,却什么也没做 下面的方法绝对有效Asp.net mvc jQuery自动完成不使用Json数据,asp.net-mvc,json,jquery-plugins,autocomplete,Asp.net Mvc,Json,Jquery Plugins,Autocomplete,有一大堆教程在那里解释如何做到这一点,例如和 看起来很容易啊?然而,我还是设法在这上面浪费了半天时间,却什么也没做 下面的方法绝对有效 public ActionResult FindStuff(string q) { return Content("test"); } $('#MyTextBox').autocomplete("MyController/FindStuff", { parse: function(data) { alert('parsing')
public ActionResult FindStuff(string q)
{
return Content("test");
}
$('#MyTextBox').autocomplete("MyController/FindStuff", {
parse: function(data) {
alert('parsing');
}
});
如果我把它改成以下,绝对不会发生任何事情
public JsonResult FindStuff(string q)
{
return Json(new { name = "test" });
}
$('#MyTextBox').autocomplete("MyController/FindStuff", {
dataType: 'json', // I've also tried with this line commented out
parse: function(data) {
alert('parsing');
}
});
因此,parse
调用似乎从未被命中,也就是说,我假设数据负载不知何故爆炸,或者认为没有数据。有什么想法吗?谢谢
p、 这是Jorn Zaefferr插件。确保您返回了一个数组,并且允许GET请求(如果您使用的是ASP.NET MVC 2.0): 然后按照下面的例子:
$('#MyTextBox').autocomplete("MyController/FindStuff", {
dataType: 'json',
parse: function (data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i].name };
}
return rows;
},
formatItem: function (row, i, n) {
return row.name;
}
});
$(“#MyTextBox”).autocomplete(“MyController/FindStuff”{
数据类型:“json”,
解析:函数(数据){
var rows=新数组();
对于(变量i=0;i
效果很好
备注:有助于快速诊断问题,因为它准确地显示了发送的AJAX请求以及它们成功或失败的原因。这就是FireBug非常有用的原因。您会立即发现错误。
$('#MyTextBox').autocomplete("MyController/FindStuff", {
dataType: 'json',
parse: function (data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i].name };
}
return rows;
},
formatItem: function (row, i, n) {
return row.name;
}
});