我有一个发送ajax请求的方法。当收到来自服务器的应答时,我需要序列化,然后再反序列化
$.ajax({
//.....
done(function(data) {
//1 Need to serialize data (which is an array)
});
function myFunction() {
//2 Need to de-serialize data which has been serialized
}
我知道我可以使用jquery#serializeArray()
,如果我有一个表单序列化:
$( "form" ).submit(function( event ) {
console.log( $( this ).serializeArray() );
event.preventDefault();
});
但是我没有表单和来自服务器的数据(我猜)与jquery
的serializeArray
功能无关。那么我该怎么做呢?最好的方法之一是什么?
最好不要使用jquery以外的任何第三方库,甚至根本不要使用jquery。
将js对象序列化为JSON的常用方法是通过JSON.stringify()
。
另一种方式是通过JSON.parse()
。
o={"firstName":"john","lastName":"doe"};
console.log(JSON.stringify(o));
console.log(JSON.parse(JSON.stringify(o)));
查看MDN中的stringify和parse
这是小提琴
jQuery中的. serializearray()只是一个简洁的辅助函数,用于序列化表单数据。它从头开始构建它的对象。这是它的来源。如果您想将数据作为JSON
提交,只需
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(data),
success: success,
dataType: dataType
});
jQuery.post().