我有一个使用ajax的实时搜索,我得到一个Uncaught Typeerror: undefined is not a function.
的控制台日志错误错误指向我的代码的第一行。我以前用过这个,现在还不知道有什么想法吗?
$("input#search-staff").live("keyup", function() {
// Set Search String
var staffname = $(this).val();
// Do Search
if(staffname !== ''){
$.ajax({
type: "GET",
url: "_ajax/_tasks/search-staff.php",
data: { query: staffname },
cache: false,
success: function(html){
$("ul#staff-list").html(html);
}
});
}return false;
});
答案 0 :(得分:0)
jQuery.live()在1.7版中已弃用,已从jQuery 1.9中删除。 使用jQuery.on() insted。
答案 1 :(得分:0)
以下是 的功能:
$(document).on("keyup", "input#search-staff", function(e) {
var staffname = $(this).val();
e.preventDefault();
if (!staffname) return;
$.get("_ajax/_tasks/search-staff.php", {query: staffname})
.done(function (html) {
$("ul#staff-list").html(html);
});
});
注释
.live()
切换到.on()
事件委派.ajax()
)从.get()
切换到.done()
P.S。:尽量不要在客户端执行cache: false
之类的操作。只需在响应头(Cache-Control: no-cache, no-store
)中设置相应的HTTP缓存指令,并将客户端保留为默认值。