-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 数据。

所以,你想要的是这样的:

<?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

请务必设置内容类型并仅回显 json。

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