微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-数据未从ajax POST返回

我使用此jQuery函数通过Ajax获取数据:

function addContentPrt(cid){
   $.ajax({
    url: "<?=parseLink('addContent.PHP')?>",
    type: "POST",
    cache: true,
    dataType:'json',
    data: {id: cid},
    success: function(returnedData){
      console.log(returnedData);
    },
    error: function (xhr, tst, err) {
      console.log(err);
    } 
  });
}

在接收端:

<?
  header("Content-Type: application/json", true);

  if(isset($_POST['id'])) {
    $id = $_POST['id'];
  }

  $sql = MysqL_query("SELECT * FROM pharmacies WHERE id=$id");

  $r = MysqL_fetch_array($sql);
  echo $r['title'];
  echo $id;
?>

echo $id确实返回到ajax,但不返回$r [‘title’],因为它在控制台中为null.如果添加了诸如hello world之类的伪文本,则会收到一个synthax错误SyntaxError:意外令牌h {stack:(…),消息:“意外令牌h”}

这可能是什么原因,我应该怎么做才能解决

解决方法:

<?
  header("Content-Type: application/json", true);

  if(isset($_POST['id'])) {
    $id = $_POST['id'];
  }

  $sql = MysqL_query("SELECT * FROM pharmacies WHERE id=$id");

  $r = MysqL_fetch_array($sql);
  echo json_encode('id' => $id, 'title' => $r['title']);
?>

并在您的ajax成功中:

success: function(returnedData){
  console.log(JSON.parse(returnedData));
},

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐