ajaxStart和ajaxStop无法正常工作

时间:2014-11-16 08:52:49

标签: javascript jquery ajax

一开始,我在页面中尝试了ajaxStartajaxStop,但它们无效,代码:

<!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的不同之处,细节会更好。

任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:2)

1)如jQuery官方文档中所述的here从jQuery 1.8开始,.ajaxStart()方法只应附加到文档。

2)对于第二个查询,jQuery官方文档应该足够了 对于弃用的内容,请转到here