我有一个关于使用FormData对象,serialize()或JSON.stringify()方法使用Ajax发布数据的问题。我何时应该使用其中一个?换句话说,每个的缺点和优点是什么?谢谢你的帮助。
使用FormData:
var formData = new FormData($("#myFormId")[0]);
$.ajax({
type: "POST",
url: myPostUrl,
data: formData,
async: false,
cache: false,
processData: false,
contentType: false,
success: function (response) {
... }
..});
使用serialize()方法:
var data = $("form-input-selectors").serialize();
$.ajax({
type: "POST",
url: myOtherPostUrl,
data: data,
async: false,
cache: false,
success: function (response) {
......
}
});
使用JSON.stringify():
$.ajax({
url: 'myPostUrl',
type: "POST",
cache: false,
datatype: "JSON",
data: JSON.stringify({
"id": id,
"name": name,
"type": type,
"description": description,
"email": email
}),
success: function(result) {
//do stuff
}