我正在尝试从表单中获取数据,然后将其发送到 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);
这会起作用
关于javascript - 使用Jquery将序列化表单数据转换为json对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45274046/