我有一个关于使用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
}
1条答案
按热度按时间l7mqbcuq1#
注意:对于发送文件,请使用formdata/ serialize