簡體   English   中英

使用jQuery將序列化表格數據轉換為json對象?

[英]Converting serialized form data into json object using Jquery?

我試圖從表單中獲取數據,然后將其發送到servlet。 但是然后我注意到序列化表單后得到的json對象不是有效的json對象。 我可能做錯了什么? 這是我到目前為止嘗試過的。

<script type="text/javascript">
$(document).on("click", "#check", function() { // When HTML DOM "click" event is invoked on element with ID "somebutton", execute the following function...
      event.preventDefault();
      var data = $("#register").serialize().split("&");
      var obj={};
        for(var key in data)
        {
            console.log(data[key]);
            obj[data[key].split("=")[0]] = data[key].split("=")[1];
        }

        console.log(obj);
// store json string
     $.ajax({
            type: "POST",
            url: "HomeServlet",
            dataType: "text",
            contentType: "application/json",
            data:{"res":obj},
            success: function(data){
                console.log(data);
            },
            error:function(){
                console.log("error");
            },

        });
});

</script>

我從表單中獲取的json對象是-

{
    apiname: "jdjdj",
    apiendpoint: "sdjsdj",
    apiversion: "djdjd",
    source: "internet"
}

這就是我要的 -

{
    "apiname": "jdjdj",
    "apiendpoint": "sdjsdj",
    "apiversion": "djdjd",
    "source": "internet"
}

你得到的json沒什么錯。

只需對其進行字符串化處理即可獲得所需的對象

var myJSON1 = JSON.stringify(data);

這會工作

你可以試試看

JSON.stringify(json_data);

正如其他人指出的那樣,您傳遞的是原始javascript對象。 您必須做的是先轉換此對象,然后再通過電線發送它。

JSON.stringify(json_data);

代替此foreach循環,僅使用serializeArray(),然后使用json_parse()這兩個函數將對您有用。

var data = $("#register").serializeArray();
var obj= JSON_parse(JSON_stringify(data));

請使用JSON.stringify(obj, undefined, 2);

暫無
暫無

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

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