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 控制台:

  • 如果没有结果,则打印空数组,
  • 如果有一个结果,则打印正确的对象,
  • 但是当有多个结果时,没有任何内容被打印到控制台,甚至没有 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 回答