簡體   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