簡體   English   中英

無法將 jquery ajax 響應轉換為數組 javascript

[英]Unable to convert jquery ajax response to array javascript

我有一個 API ,它返回一個格式數組:

[
  {
    "abc": "def",
    "efg": "hij"
  },
  {
    "abc": "def",
    "efg": "hij"
  }
]

當我使用 jquery.ajax 訪問服務時,我能夠得到響應

$.ajax({
url: URL,
type: 'GET',
dataType: 'JSON',
xhrFields: {
withCredentials: false
},
success: function (data) {
console.log(data);
},
error: function (request, error) {});

在 java 腳本上,當我嘗試檢查數據類型為 Object 時。 當我直接在控制台上打印數據時

0: Object { "abc": "def", "egf":"ghi " }​​
​
1: Object { "abc": "def", "egf":"ghi " }​​

當我使用 knockout.toJSON(data) 或 JSON.stringify(data) 打印時,它會返回

[
  {
    "abc": "def",
    "efg": "hij"
  },
  {
    "abc": "def",
    "efg": "hij"
  }
]

但是我無法將響應轉換為數組,因為我希望它是一個數組。

我什至在敲除.JSON(數據)、JSON.stringify(數據)上嘗試了 JSON.parse,並直接在數據上但它失敗了。

將其轉換為數組的最佳方法是什么。

JS 有原始數據類型和Objects ,因為Array不是原始數據,它的typeof將返回Object

您可以將您的響應視為代碼中的數組,無需轉換。

研究此 SO 帖子以獲取更多信息有關 JS 數據類型的文檔

暫無
暫無

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

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