繁体   English   中英

将json从php返回到ajax

[英]Return json from php to ajax

我试图从php中获取一个json对象,然后在我的ajax中使用。

我的ajax是

$( document ).ready(function() {
  var eventsListPath = "/php/eventsList.php";

  $.ajax({
  type: 'get',
  url: eventsListPath,
  data: {},
  success: function(data) {
  var json = JSON.parse(data);
  $('#eventInformation').html(json[table]);
  }
 });
});

然后我的php做一些事情,但是我基本上想返回一个字符串(还有更多,但是首先使字符串工作可能会对其余部分有所帮助):

$obj->table="hey";

echo json_encode($obj, JSON_UNESCAPED_SLASHES);

但是线

$('#eventInformation').html(json[table]);

似乎只会给我一个错误:

SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符

我究竟做错了什么?

尝试使用 运算子,也不需要解析已经为JSON形式的JSON字串:)

 $(document).ready(function () {
     var eventsListPath = "/php/eventsList.php";

     $.ajax({
         type: 'get',
         url: eventsListPath,
         data: {},
         success: function (data) {
             $('#eventInformation').html(data.table);
         }
     });
 });

在PHP上,确保您实例化响应数据,如下所示

$obj = new StdClass;
$obj->table="hey";

首先,使用网络监视器查看HTTP请求的结果,例如在Firefox中: https : //developer.mozilla.org/en-GB/docs/Tools/Network_Monitor

然后,尝试下面的代码让jQuery在AJAX调用中进行JSON解析:

$(document).ready(function () {
    var eventsListPath = "/php/eventsList.php";

    $.ajax({
        type: 'get',
        url: eventsListPath,
        data: {},
        result: "json"
        success: function (dataJson) {
            $('#eventInformation').html(json.table);
        }
    });

});

首先,您应该检查响应是否正确解析为json。 如果json数组之前存在任何数据,则javascript将引发异常。 使用网络选项中的chrome开发人员工具“响应”标签查看响应。 如果可以,请尝试以下代码。

 $(document).ready(function () {
     var eventsListPath = "/php/eventsList.php";

     $.ajax({
         method: "get",
         url: eventsListPath,
         dataType : "json",
         data: {}, //data 
         success: function (data) {
             $('#eventInformation').html(data.table); 
         }
     });
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM