我试图从数据库中提取随机字符串,然后通过json传输它。
但是,我显然被困在这里。
<?php
print_r ($return['user_id']);
json_encode($return);
?>
和ajax / js
$(document).ready(function() {
$.getJSON('initiate.php', function(data) {
$("#chat-area").html(data);
});
});
答案 0 :(得分:4)
无法使用:
print_r
将垃圾(即非JSON)转储到客户端,从而转储JSON解析器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);
});
答案 1 :(得分:2)
这是错误的:
print_r ($return['user_id']); // invalidates the json output
json_encode($return); // does not do much...
// should be:
echo json_encode($return);
答案 2 :(得分:0)
请务必设置内容类型并仅回显json。
<?php
//fill $whatever_you_want
header('content-type: application/json');
echo json_encode($whatever_you_want);
?>