我正在尝试编写一个 ajax 用户搜索。我有这个文本字段:
<input type="text" id="userSearch" class="search-query" placeholder="Search">
这个jQuery在一个.js
文件中:
$("#userSearch").keyup(function () {
if ($(this).val().length >= 3) {
$.getJSON('/User/SearchUsers', { displayName: $(this).val() }, function (data) {
if (data == null) {
alert("nothing");
}
else{
alert("OK");
}
});
}
});
这是UserController
和Application
和Repository
类:
[HttpGet]
public ActionResult SearchUsers(string displayName)
{
return Json(userApp.GetUserBySearch(displayName), JsonRequestBehavior.AllowGet);
}
public List<User> GetUserBySearch(string displayName)
{
return userRepo.GetUserBySearch(displayName);
}
public List<User> GetUserBySearch(string displayName)
{
return context.Users.Include("Group").Where(u => u.DisplayName.Contains(displayName)).ToList();
}
但这根本不起作用。它根本没有警报。那是什么意思呢?这意味着数据为空且不为空?!我也试过这个:
var i = 0;
for (i = 0; i <= data.length; i++) {
alert(data[i].UserId);
}
但它也不起作用。我已经做了数千次这样的事情,但现在它不起作用......我该怎么办......?