簡體   English   中英

json到javascript數組並存儲以供外部ajax調用使用

[英]json to javascript array and storing for outside ajax call use

嘿,希望能有一些快速的幫助,

我的總體目標是檢索一個php數組,並使用ajax調用將其存儲到javascript數組中。 我是這一切的新手,所以請多多包涵。

我的ajax調用成功,因此它返回echo json_encode(array); 並轉到成功功能。

我對如何獲取json編碼的數據並將其存儲到我可以在ajax調用之外使用的javascript數組中感到困惑。

$.ajax({
        type: "POST",
        url: myurl.php
        data: {var1: var1, var2:var2},
        dataType: "json",
        success: function(data)
        {
          console.log(data);
          var simplified = JSON.stringify(data);
          console.log(simplified);
          var jsonObj = $.parseJSON('[' + simplified + ']');
        },
    });

控制台日志給了我;

Object {63: Object, 64: Object, 65: Object}

{"63":{"Comment":"tc 1"},"64":{"Comment":"tc 2"},"65":{"Comment":"tc 3"}}

分別。

我想要這種形式的數組;

63
  Comment=>"tc 1"
64
  Comment=>"tc 2"
65 
  Comment=>"tc 3"

感謝您的任何幫助!

UPADTE:關於如何在ajax調用之外訪問創建的數組的任何建議? 每次嘗試時,它都未定義。

您必須遍歷對象的屬性並創建一個數組:

var myObj = {
    1: [1, 2, 3],
    2: [4, 5, 6]
};

var array = $.map(myObj, function(value, index) {
    return [value];
});


console.log(array);

這個給你:

var data = JSON.parse('{"63":{"Comment":"tc 1"},"64":{"Comment":"tc 2"},"65":{"Comment":"tc 3"}}');
alert(data[63].Comment); // to access

希望能有所幫助。

您的data變量已經是一個對象。 jQuery內部將JSON解析為一個對象。 如果要使其成為數組,請執行以下操作:

$.ajax({
  type: "POST",
  url: myurl.php
  data: {var1: var1, var2:var2},
  dataType: "json",
  success: function(data)
  {
    var arr = [];

    $.map(data, function(value) {
      arr.push(value);
    });
  }
});

但是,如果您仍然需要密鑰(您在服務器端擁有),只需保持該密鑰不變,然后像data[63]一樣訪問它data[63] Javascript沒有關聯數組,在這里它們是對象,在語義上稱為類數組對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM