[英]Object serialize like form data serialize
我不確定我是否缺少某些東西,或者那是行不通的,就像我認為的那樣。 我有一些要拆分的表單數據。 為此,我認為我可以使用我想要的值創建另一個對象:
let data = $('form').serializeArray();
let answers = {};
data.forEach(function(element) {
// check if the element contains a answer input value
if(element.name.indexOf('answer') !== -1) {
answers[element.name] = element.value;
}
});
console.log($('form').serialize());
// output: answer%5B1%5D=1&answer%5B2%5D=2&answer%5B4%5D=3&answer%5B3%5D=4&sort=relevance&query=&area=..... etc
console.log(answers.serialize());
// output: is not a function.
再說一遍。 我以為您可以像將表格數據那樣將對象序列化為字符串以進行數據存儲。
有人可以向我解釋我做錯了什么,和/或為什么序列化不起作用?
answers
不是jQuery對象,因此它沒有serialize()
方法。 如果您希望像使用jQuery的序列化一樣獲得名稱-值對字符串,則可以使用jQuery的param方法
answers = { "answer1":1, "answer2":2 }; console.log(jQuery.param(answers));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
否則,如果您只是想序列化JSON的answers
,以便以后可以重新創建它,則只需使用JSON.stringify
answers = { "answer1":1, "answer2":2 }; console.log(JSON.stringify(answers));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.