我正在尝试使用数组中的json将多个变量从php文件发送回ajax。php文件中的代码可以完美运行,并且可以对数据库进行所有操作。但是,一旦我在ajax中添加dataType:“ json”,php文件中就什么也没有发生。我在Google上搜索了一下,有人说这可能是浏览器问题,但到目前为止,它在Firefox,Chrome或IE中均不起作用。我正在使用最新版本的jQuery。
这就是php内部发生的情况:
<?php //Create variables and update database echo json_encode(array("id" => "$realid", "un" => "$username", "date" => "$date")); ?>
这是ajax代码:
.ajax( { url: 'UpdateComments.php', type: 'POST', dataType: "json", data: { type: "add", comment: $("#comment").val(), id: videoID }, success: function (data) { //Get the data variables from json and display them on page } });
我对此一无所知,任何建议将不胜感激!
常见的问题是浏览器在JSON之前打印“其他内容”,无论它是可读还是 不可读 (不可见)字符。尝试做这样的事情:
<?php //at the very beginning start output buffereing ob_start(); // do your logic here // right before outputting the JSON, clear the buffer. ob_end_clean(); // now print echo json_encode(array("id" => $realid, "un" => $username, "date" => $date)); ?>
现在,所有补充数据(JSON之前的数据)都将被丢弃,您应该让它正常工作…