2011-11-12 8 views
0

私はAJAXから問題を継続しています。私は別のファイルですべての私のPHPをチェックして、それはすべて正常に動作しているようだ。問題はありません。作成された配列のjson_encodeは、すべてのフィールド名と値でうまくいくようです。JQuery AJAX PHP MySQLがデータを返さない(PHPで失敗する)

AJAXとJSONについての私の理解はあまり良くないので、私はいくつかの明白な点を見逃していると思います。私は、Google Chrome Inspect Elementsのコンソールをチェックしましたが、メッセージはありません。

JS:

 function processSearch(){ 
      alert('Doing Search'); 
      $.ajax({ 
       url: "WCITSearch.php", 
       type: "POST", 
       data: $('#searchFORM').serialize(), 
       dataType: "json", 
       success: function (data) { 
        alert("SUCCESS from PHP:"); 
        $('#results').html(data); 
       }, 
       error: function (data) { 
        alert("FAILURE from PHP:"); 
        $('#results').html(data); 
       } 

      event.preventDefault(); 
     } 

はPHP:

$connection = mysql_connect($host,$user,$pass) or die(mysql_error()); 

$dbs = mysql_select_db($database, $connection) or die(mysql_error()); // Select the datbase 

// 2) Query database for data 
$select = "SELECT vehGrpName, vehTitle, vehDescrip FROM vehicles LIMIT 20"; 
$result = mysql_query($select) or die(mysql_error());   //query 
$recs = array(); 
if(mysql_num_rows($result)) { 
    while($post = mysql_fetch_assoc($result)) { 
    $recs[] = array('vehicles'=>$post); 
    } 
} 
// 3) echo result as json 
echo json_encode($recs); 

私は今、数日間苦労してきたが、私は次のテストすべきことの損失です。

すべてのポインタ/ヘルプは非常に高く評価されます。

おかげ

+1

エラーは何ですか?要求または応答中に、どの時点で発生しますか? istだけが空のデータか、まったく何もないのでしょうか?あなたのスクリプトは成功関数を入力しますか?またはエラー関数?そして、それは 'ajax({}) 'の閉じ括弧が両方ともなくなっているようです。 – Quasdunk

+0

速い応答に感謝します。欠落している終了AJAXはそこにあります。彼らは私のコピーペーストで失われてしまった。エラーはAJAXのエラー:オプションの実行中の警告にあります。 – mcl

+0

ありがとうございました。私は少し良くなり、 'console.log()'を使うことを学んだ。エラー:オプションは、PHPスクリプトに問題がある場合にのみ実行され、次のコードのためにこれが見つかりました。 'error:function(XMLHttpRequest、textStatus、errorThrown){\t \t \t \t \t alert( "XMLHttpRequest = "+ XMLHttpRequest.responseText +" \ ntextStatus = "+ textStatus +" \ nerrorThrown = "+ errorThrown);}'私は実際のPHPでPHPの動作テストを台無しにしてしまったことがわかりました。今後これを実装すれば、うまくいけば問題は少なくなります。 – mcl

答えて

0

は、私はあなたがトリガされたAJAXエラーコールバックを意味だと思う、それは「PHPが失敗した」ではなく「要求が失敗した」という意味ではありません。

http://api.jquery.com/jQuery.ajax/

だから私は、あなたがurl属性を検証するべきだと思います。 WCITSearch.phpとあなたのスクリプトは同じレベルにありますか? ウェブキット開発ツールではnetworkタブを使用できます。

+0

URLは正確で、呼び出し元のjavascriptと同じディレクトリにあります。それらは 'public_html'から1つ下のレベルです。 – mcl

+0

ネットワークインスペクターはあなたの要求について何を表示しますか? – MatTheCat

+0

'WCITSearch.php/WCIT POST 200 OK text/html jquery.min.js:4スクリプト235B 20B 948ms 940ms'これが役立つことを願っています。 – mcl

関連する問題