1

PHP5.1.6 には json_encode() がないため、json_encode のドキュメントにある関数を使用したかったのです。この関数の出力をajaxリクエストで使用しようとしています:

fetchArticles: function( e ) {
      $.ajax({
        url: 'article.php',
        type: 'POST',
        data:  { id: $(this).data( 'id_prod' ) },
        dataType: 'json',
        success: function( results ) {
          console.log('finished');
          console.log(results);
        }
      });

私はarticle.php現時点で持っています:

if ( isset($_POST['id']) ) {
 connect();
 $articles = get_articles( $_POST['id'] );
 echo json_encode( $articles ); return;
}

問題は、JS コンソールに結果を返すことです。

  • 結果がない場合、空の配列が出力されます。
  • 結果が 1 つある場合は、適切なオブジェクトが出力されます。
  • しかし、複数の結果がある場合、コンソールには何も出力されず、 word も出力されませんfinished

HTTP ヘッダーと応答で、適切なデータが返されていることを確認できますが、コンソールには出力されません。この問題を解決するのを手伝ってくれませんか?

4

1 に答える 1

1

json ファイルを変換できない場合、parsererror例外がスローされるため、次のことを試してください。

  $.ajax({
    url: 'article.php',
    type: 'POST',
    data:  { id: $(this).data( 'id_prod' ) },
    dataType: 'json',
    success: function( results ) {
      console.log('finished');
      console.log(results);
    },
    error: function(jqXHR, textStatus, errorThrown) { 
      console.debug(jqXHR, textStatus, errorThrown); 
    }
  });

JSONが無効な場合、エラーが出力されます。

于 2012-04-04T13:53:13.797 に答える