1

だから私は私のjavascriptファイルにこの関数を持っています:

function UpdateThisCourseHistory(){
    var ajax= new Ajax.Request("runNeededQueries.php",
            {
                method: "POST",
                parameters: {database: "history", action:"update"},
                onSuccess: function(){alert("This Course History Entry Has Been Updated");},
                onFailure: function(){alert("Could Not Find The Entry With The Specified Primary Key");}        
            }
    );
}

これが私のphpファイルだとします

<?php
header('HTTP/1.0 400 Bad Request');
 ?>

これにより onFailure メソッドが実行されますか?

4

2 に答える 2

3

PHP スクリプトが HTTP 2xx 応答コードで応答すると onSuccess コールバックが起動し、HTTP エラー コードが返されると onFailure コールバックが起動します。応答値に基づいてアクションを実行する場合は、次のオプションが必要です。

  • PHP スクリプトを変更して、失敗時に HTTP エラー応答 (おそらく 400) を返し、返された特定の値に基づいてアクションを実行します。
    • header('HTTP/1.0 400 Bad Request');
  • AJAX ハンドラーを更新して、返されたデータを検査し、その内容に基づいてアクションを実行します。
    • onSuccess: function(transport){ if transport.responseText == 'expected value' ...}
于 2013-05-09T14:08:32.023 に答える
1

PHP スクリプトの出力を、できれば JSON で作成します。

お気に入り:

{ action: 'find_id', status: true }

応答からデータを取得して、アクションが成功したかどうかを確認できます。

function(data){
  if (data.status){
    alert("Everything is OK") ;
  } else {
    alert("Failed") ;
  }
}
于 2013-05-09T14:10:43.823 に答える