2013-07-29 37 views
0

我正在尝试使用AJAX对我的网页进行更改。 xml_whoid.php似乎正常工作。 jQuery的作品,直到我添加该功能(即使它只是警报)。我怀疑这是一个语法错误,但我找不到问题。当我尝试使用返回值时,为什么我的AJAX代码失败?

我也不知道如何访问返回的值。我有一本jQuery书,但没有说明如何在比较语句中使用AJAX返回值。我用Google搜索很多次,但例子有 功能(结果){ “过程这里的数据”或“result.data.length” }

看来如此简单的问题,但我已经出去撕裂我的头发这是因为我不想问另一个(愚蠢的)问题,但可以通过我的备份日期来说明,我一直试图让这个AJAX代码工作5天。

     xml_whoid.php  
    <?php            
    require_once("../../includes/initialize.php"); 
    require_once("../../includes/functions.php"); 
    require_once("../../includes/session.php"); 
    require_once("../../includes/database.php"); 
    if ($session->is_logged_in()) { 
     $idwho=$_POST["idwho"]; 
     $session->changeidwho($idwho); 
     $whos = Whostaff::find_one_by_who($idwho); 
     if ($whos) { 
      echo "1"; 
     } else { 
      echo "0"; 
     } 
    } 
?> 


<script type="text/javascript"> 
    function changewho(idwho,mydesc) { 
     $('#who').html(mydesc); 
     $('#whofoot').html(mydesc); 
     $('#whomaint').html(mydesc); 
     $("#visible1").show(); 
     $("#visible2").show(); 
     $("#visible3").show(); 
     $("#visible4").show(); 
     $("#visible5").show(); 
     $.post('xml_whoid.php', { idwho: idwho }); 
     $.ajax({ 
      url: "xml_whoid.php", 
      type: "POST", 
      async: false, 
      data: { 
       idwho: idwho 
      }, 
     function(result) {     // This code causes everything to fail. 
      alert('Fetched');    // 
      //if(result==0){    // I have searched and searched but 
      // $("#visible6").show();  // I cannot work out if this is how 
      //}       // to access the returned value. 
     }        
    }); 
} 
</script> 

我使用“async:false”,因为这个页面并不经常使用,只在内部使用。

回答

3

你错过了关键success

$.ajax({ 
    url: "xml_whoid.php", 
    type: "POST", 
    async: false, 
    data: { 
    idwho: idwho 
    }, 
    success: function(result) { 
    alert('Fetched'); 
    }        
}); 
1

AJAX调用有一个名为success和另一error一个回调函数。
通过函数成功,您可以检索从函数返回的消息。
随着函数错误,你可以处理你的PHP页面或错误的错误。 在你的代码中你错过了插入回调函数的名字。
试试这个:

$.ajax({ 
      url: "xml_whoid.php", 
      type: "POST", 
      async: false, 
      data: { 
       idwho: idwho 
      }, 
      success: function(result) {     
       alert('Fetched');    
      }, 
      error: function(error) {     
       alert(error);          
      }        
    }); 
0

返回功能应该写成

success: function(result) { 
    alert('Fetched'); 
} 
相关问题