0

AJAX を使用して Web ページを変更しようとしています。xml_whoid.phpうまくいくようです。関数を追加するまでjQueryは機能します(それが単なるアラートであっても)。構文エラーだと思いますが、問題が見つかりません。

また、戻り値にアクセスする方法もわかりません。私は jQuery の本を持っていますが、比較ステートメントで AJAX の戻り値を使用する方法を示していません。私は何度もグーグルで検索しましたが、例には function(result) { "process data here" または "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」を使用します。

4

3 に答える 3

3

キーがありませんsuccess:

$.ajax({
   url: "xml_whoid.php",
   type: "POST",
   async: false,
   data: {
     idwho: idwho
   },
   success: function(result) {
     alert('Fetched');
   }                              
}); 
于 2013-07-29T09:27:50.260 に答える
1

ajax 呼び出しには、コールバック関数successと別のerror.
関数 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);                                     
            }                              
    }); 
于 2013-07-29T09:29:13.320 に答える
0

リターン関数は次のように記述します。

success: function(result) {
  alert('Fetched');
}
于 2013-07-29T09:31:24.893 に答える