0

POSTまたはGETリクエストの後にエラーをブラウザに返すためのシンプルでクリーンで柔軟な方法を探していました。

jQueryを使用したAJAXリクエストの例:

$.ajax({ 
  data : {
    method  : 'example',
    input : 1
  },
  success : function(i){
    if(i != 'succes'){
      alert(i);
    }
 }
}); 

サーバー側の応答:

switch($_POST['method']){
  case 'example':
    if($_POST['input'] == 1) {
      echo 'succes';
    } else {
      echo 'error';
      // or
      die('error');
    }
  break;
}

これは十分にしっかりしているとは感じません。メッセージと組み合わせたエラーをキャプチャする良い方法を知っている人はいますか?

4

3 に答える 3

1

@Esailijaは正しいです。jQueryのajaxエラーハンドラがエラーを受信できるように、HTTPステータスコードを返します。

于 2012-07-26T14:50:29.030 に答える
1

AJAX呼び出しをHTTP標準に準拠させたい場合は、PHPのヘッダー関数を使用してHTTPで定義された適切なステータスコードを送信します。将来的には、特定のエラー処理を強制することなく、他のアプリから同じPHPページを呼び出すことができます。

エラーがアプリケーション固有の場合は、前述のようにjsonでエンコードされたメッセージを返します。

于 2012-07-26T14:58:13.953 に答える
-3

JSONを使用する:

$error = array(
    'error' => 'SOME_ERROR_DESCRIPTION',
    'message' => 'You have an error blabla'
);
echo json_encode($error);

JavaScriptから、JSONオブジェクトを使用してエラーを自由に処理できます。

于 2012-07-26T14:50:16.300 に答える