2012-04-09 8 views
0

私は、ページを更新することなく、mySQLデータベースからデータを取得するためにjQuery AJAX関数を使用しています。私はすべて正常に動作しており、私のクエリはデータベースから正しいデータを取得しています。しかし、私はユーザーの入力に基づいてデータを取得できないときにエラーメッセージをエコーアウトするのに苦労しています。私は、ユーザーが検索するためのユーザーインターフェイスを提供するphpファイルを持っている、それはまた、ドキュメントの頭に次のスクリプトが含まれています。ここ

は、私がこれまで持っているものです: - 私は非常によく自分自身を説明していない場合AJAX jQuery APIとPHPを使用してエラーメッセージを表示するのが難しいです。

<script type="text/javascript"> 
$(function(){ 
    $('#users').keyup(function(){ 
     var inpvalue= $('#users').val(); 
    }); 
}); 
</script> 



<script type="text/javascript"> 
$(function(){ 
      $('#users').keyup(function(){ 

      var inpval=$('#users').val(); 

      $.ajax({ 
       type: 'POST', 
       data: ({p : inpval}), 
       url: 'data.php', 
       success: function(data) { 
        $('#output_div').html(data); 

      } 
     }); 
    }); 
}); 

</script> 

すべてのヘルプは非常に申し訳ありませんが、高く評価されるだろう。
ありがとうございます。

+0

私はこれを追加してみました: - \tエラー:関数(){ alert( "エラーが発生しました。もう一度お試しください! "); } jquery関数のsuccess:パラメータの下にあります。 –

答えて

1

はあなたのアヤックス()の呼び出しを変更します。

 $.ajax({ 
      type: 'POST', 
      data: ({p : inpval}), 
      url: 'data.php', 
      success: function(data) { 
       $('#output_div').html(data); 

      }, 
      error: function (jqXHR, textStatus, errorThrown) { 
       console.log(errorThrown); 
      } 
     }); 

これはちょうどあなたが始めるためにある:あなたがエラーハンドラで何ができるかの詳細についてはhttp://api.jquery.com/jQuery.ajax/を参照してください。

もちろん、通話から良好なHTTPステータスを取得している可能性がありますが、この防御プログラミングによって確実に確認されます。

ブラウザで実行中のFirebugのようなツールは、悪質なHTTPステータスコードが返されるのを検出するのに役立ちます。

0

data.phpでは、データが無効な場合にエラーを出力する必要があります。あなたがエラー状態を検出できるように

0

実際のAJAX要求は、サーバーが404を返す場合は、あなたのJSONにエラーを返すと、このようにそれをチェックしなければならないなどの問題がある場合$.ajaxの設定errorのみが呼び出されます:

$('#users').keyup(function(){ 

    var inpval=$('#users').val(); 

    $.ajax({ 
     type: 'POST', 
     data: ({p : inpval}), 
     url: 'data.php', 
     success: function(data) { 
       if(!data.error) { 
        $('#output_div').html(data); 
       } 
       else { 
        // show error 
       } 
     } 
    }); 
}); 

、データが細かいし、エラーのためにこのようなものであるとき、あなたはあなたの通常のJSONを返すでしょう:

{"error": "Oh NOES!"}

関連する問題