我正在尝试使用formdata()提交表单。我需要将所有数据转换为json格式,但是由于文件附件的原因,我无法在JSON中执行此操作。
源代码:
<script>
$(document).on('submit', '.career', function(e){e.preventDefault();
var formData = new FormData();
formData.append("username", "test");
formData.append("acct", 23323);
var data = JSON.stringify(formData);
$.ajax({
method: "POST",
url: ajax.asyncUrl,
processData: false,
data: formData
})
.done(ajax.callbacks.submitAp);
任何人都可以帮助我解决这个问题。
预先感谢
答案 0 :(得分:0)
您不能对FormData对象中的二进制数据进行JSON编码。要发送FormData,您需要将其提供给data
中设置对象的$.ajax()
属性,并将contentType
和processData
都设置为false
。试试这个:
$(document).on('submit', '.career-form', function(e) {
e.preventDefault();
var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456);
// add file data here...
$.ajax({
method: "POST",
url: ajax.asyncUrl,
processData: false,
contentType: false,
data: formData,
}).done(ajax.callbacks.submitCareerApplicationLite);
});