我有一个返回txt文件的表单,我想通过AJAX将收到的数据发布到另一表单中
因此,工作流程为: AJAX调用->成功->接收到txt文件->通过ajax将返回的数据作为文件发送到另一表格
我尝试使用此代码
$.ajax({
url: "form1",
method: 'POST',
data: { field: field}
}).done(function(data) {
$.ajax({
url: "form2",
method: "POST",
data: {
file: data
}
});
});
代码发送数据,但“ form2”上的表单未收到有效的文件对象。
如何将接收到的“数据”转换为有效的文件对象?
答案 0 :(得分:0)
由于lordvlad30,我使用FormData()函数以第二种形式发送字段,但是将这些属性添加到了第二个ajax调用中: dataType:'json' processData:否 contentType:false
对于第一个电话,我必须添加 xhrFields:{ responseType:“ blob” }
所以最后的示例代码是:
$.ajax({
url: "form1",
method: 'POST',
xhrFields: {
responseType: 'blob'
},
data: { field: field}
success: function(blob){
var formData = new FormData();
formData.append('textFile', blob, fileName + '.txt');
$.ajax({
url: form2,
method: "POST",
dataType: 'json',
processData: false,
contentType: false,
data: formData
});
}
});