[英]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.