0

show_page.php:

   <?

 session_start();
  include("includes/function.php");

$static = mysql_query("SELECT * FROM fb_pages WHERE user_id = '$_SESSION[user_id]' AND page_value = '1' ") or die(mysql_error());

            while($stat = mysql_fetch_array($static)) {

                    $page = $stat['page_name'];


                            echo json_encode($page);
  exit();

                    }       

ob_and_flush();     
?>  

と js コード:

  <script type="text/javascript">

$.ajax({
type: "POST",
url: "show_page.php",
dataType: "JSON", //tell jQuery to expect JSON encoded response
success: function(response) {

 $('#page').html(response);
 }
});


 </script>  

で結果を表示するのが好き<div id="page"></div>です。

このコードを実行すると、結果は 1 ページ、常に 1 ページですが、 show_page.php で削除すると、exit(); 結果は良好で、すべてのページを表示しますが、Webページは表示しないと思います.jsonが表示される可能性があります. 何この問題??

4

3 に答える 3

0

複数の INDEPENDENT json 文字列を出力しようとしているようです。これは機能しません。コードはおそらく次のようになります。

$data = array();
while ($stat = mysql_fetch_array($static)) {
    $data[] = $stat['page_name'];
}
echo json_encode($data);

JSON は基本的に JavaScript 代入操作の右側にあることに注意してください。JSON として作成するものはすべて、有効な JavaScript である必要があります。

var foo = json_goes_here.

あなたは次のようなことをしています

var foo = 'bar''baz';

代わりに、文字列の配列を作成します。これは、json でエンコードされたときに、より類似したものになります。

var foo = ['bar', 'baz'];
于 2013-07-23T17:36:04.903 に答える
0

この部分

 $page = $stat['page_name'];


 echo json_encode($page);

$page は配列ではないように見えるので、json_encode() 関数を追加する必要はありません。したがって、dataType: "JSON" は必要ありません。

于 2013-07-23T17:32:49.407 に答える