-4

データベースからランダムな文字列を取得し、json 経由で転送しようとしています。

しかし、私は明らかにここで立ち往生しています。

<?php


print_r ($return['user_id']);
json_encode($return);


?>

そして ajax/js

$(document).ready(function() {
     $.getJSON('initiate.php', function(data) {
        $("#chat-area").html(data);
     });   
});
4

3 に答える 3

4

以下では動作しません:

  1. print_rガベージ (つまり、非 JSON) をクライアントにダンプし、JSON パーサーにダンプする
  2. 実際にechoは JSON データを ing していません。

それで、あなたが望むのはこれです:

<?php
// obviously $return needs to contain something. otherwise
// you'll most likely get a notice which is "garbage" too
echo json_encode($return);
?>

サーバー側のコードを修正したら、JavaScript も修正する必要があります。dataはオブジェクトであるため、一部の要素の HTML コンテンツとして設定してもあまり意味がありません。おそらく、そのオブジェクトのいくつかのプロパティが必要です。

$.getJSON('initiate.php', function(data) {
    $("#chat-area").html(data.whatever);
});
于 2012-12-11T22:46:38.993 に答える
2

これは間違っています:

print_r ($return['user_id']);    // invalidates the json output
json_encode($return);            // does not do much...
// should be:
echo json_encode($return);
于 2012-12-11T22:46:19.913 に答える
0

必ずcontent-typeを設定し、jsonのみをエコーし​​てください。

<?php
    //fill $whatever_you_want
    header('content-type: application/json');
    echo json_encode($whatever_you_want);
?>
于 2012-12-11T22:49:58.867 に答える