簡體   English   中英

如何構建要轉換為JSON的JavaScript數組?

[英]How to build a javascript array to be converted to JSON?

我有一個應該的功能

  1. 收集數組中的所有輸入數據
  2. 將該數組以JSON格式放置(用作ajax發布數據)

這是我所擁有的,似乎應該可以使用,但是當我記錄字符串化版本時,我得到的只是[]。

function get_data_from_form() {
    var data = [];
    var inputs = $('form').find('input');

    $.each(inputs, function (index, value) {
        var name = $(this).attr('name');

        data[name] = value; // How should this change?

    });
    console.log('stringified data: ' + JSON.stringify(data)); // -> []
}

所需的輸出應類似於:“ {fname:'turd',lname:'ferguson'}”

我究竟做錯了什么? 僅創建一個字符串並連接名稱/值對會更容易嗎?

您應該定義一個對象,而不是一個數組

var data = {};

data[name] = value;

您的value提取字段是錯誤的-在.each調用中, value參數是當前元素,而不是其值。 另外,您需要捕獲鍵/值存儲中的字段,即Object而不是Array 試試這個,代替:

var data = {};  // NB: *not* an array

$('form :input').each(function() {
    data[this.name] = this.value;
});

參見http://jsfiddle.net/alnitak/hsy2xd5L/

暫無
暫無

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

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