无法获得一个简单的jquery ajax oncomplete工作?

时间:2013-02-16 17:09:54

标签: ajax jquery

我哪里出错?

    jQuery(document).ready(function($){ 
  //always focus on input field
  //$('#documentID').focus();
  $("#btnSubmit").on("click", function(){
        var docID =  $('#documentID').val();
       alert("test "+docID);
       var lookupData = new Array();
  $.ajax({
            type:"POST",
            url: "lookup.php",
            data: {documentID: docID},
            dataType: 'text',
            success: function(msg){ 
alert(msg);//shows Wrong as expected
            //do stuff after the AJAX calls successfully completes
             $("#note").ajaxComplete(function(){
                        if(msg == "Wrong") 
                        {
                            result = 'Not so OK';   
                            $('#logo_header').hide();//just to test things  
                       }
                        else
                        {
                            result = 'OK lookup';
                            lookuData = msg;//populate all data
                        }
                        $(this).html(result);

                    });//#end ajaxComplete and populate note
            }//#end success

        });//#end AJAX
  })//#end function

});

并且lookup.php返回错误或确定(用于测试目的),但我无法使用div #note来显示消息并且div logo_header不会隐藏。

任何信息?

2 个答案:

答案 0 :(得分:0)

我假设$("#note")没有处理ajax调用,因此它永远不会访问if (msg == "wrong")语句。

尝试删除$("#note").ajaxComplete

并且:

success: function(msg){ 
alert(msg);//shows Wrong as expected
        //do stuff after the AJAX calls successfully completes
                    if(msg == "Wrong") 
                    {
                        result = 'Not so OK';   
                        $('#logo_header').hide();//just to test things  
                   }
                    else
                    {
                        result = 'OK lookup';
                        lookuData = msg;//populate all data
                    }
                    $(this).html(result);

        }//#end 

答案 1 :(得分:0)

Tx,伙计们会调查你的建议,但我认为我发现了问题。我正在使用twitter bootstrap和默认的jquery src

http://code.jquery.com/jquery.js

当我使用这个jquery源

<script src="./site/wp-includes/js/jquery/jquery.js?ver=1.8.3"></script>

ajaxComplete似乎正常工作。

所以我的结论jQuery 1.9.1不支持ajaxComplete vs jQuery 1.8.3吗????

@Aspiring Aqib,这是一个简单的测试。下一步是从lookup.php(json)返回一个数组。所以我认为我需要改变哪些msg / data正在返回。