小编典典

dataType:“ json”不起作用

ajax

我正在尝试使用数组中的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
   }
});

我对此一无所知,任何建议将不胜感激!


阅读 774

收藏
2020-07-26

共1个答案

小编典典

常见的问题是浏览器在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之前的数据)都将被丢弃,您应该让它正常工作…

2020-07-26