一开始,我在页面中尝试了ajaxStart
和ajaxStop
,但它们无效,代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="javascript" src="jquery-1.11.1.js"></script>
</head>
<body>
<form name="form" method="post" action="">
<input id = "name" type="text" name = "name" value="">
<div id = "check"></div>
</form>
<script language="javascript">
$("#name").blur(function() {
$("#name").ajaxStart(function() {
$("#check").html("loading...");
alert("loading...");
});
$("#name").ajaxStop(function() {
$("#check").html("OK...");
alert("OK...");
});
$.ajaxSetup({
url : "check.php",
type : "POST",
success : function(data) {
$("#check").html(data);
},
});
$.ajax({
url : "checkname.php",
type : "POST",
data : {name : $("#name").val()},
datatype : "text",
beforeSend : function() {
console.log("beforeSend");
},
success : function(data) {
$("#check").html(data);
console.log("success");
},
error : function() {
$("#check").html("error");
console.log("error");
},
complete : function() {
console.log("complete");
},
});
});
</script>
</body>
</html>
然后,我找到了一个答案stackoverflow.com/questions/4034252/jquery-ajaxstart-not-working
告诉我改为使用document
,当我使用下面的代码时,它会起作用
$(document).ajaxStart(function() {
$("#check").html("loading...");
alert("loading...");
});
另外,我尝试了另一种方法,使用jQuery 1.7.2,它适用于$("#name").ajaxStart()
我的问题是:
1,为什么在jQuery 1.11.1中$("#name").ajaxStart()
不起作用,从1.7.2改变了什么?
2,是否有一些网站能够让我了解每个版本的jQuery的不同之处,细节会更好。
任何帮助将不胜感激,谢谢。