Jquery 将从ajax接收到的数据作为文件发送到另一个ajax
我有一个返回txt文件的表单,我想通过AJAX将收到的数据发布到另一个表单 因此,工作流程是: AJAX调用-->成功-->收到一个txt文件-->通过AJAX将返回的数据作为文件发送到另一个表单 我用这个密码试过了Jquery 将从ajax接收到的数据作为文件发送到另一个ajax,jquery,ajax,Jquery,Ajax,我有一个返回txt文件的表单,我想通过AJAX将收到的数据发布到另一个表单 因此,工作流程是: AJAX调用-->成功-->收到一个txt文件-->通过AJAX将返回的数据作为文件发送到另一个表单 我用这个密码试过了 $.ajax({ url: "form1", method: 'POST', data: { field: field} }).done(function(data) { $.ajax({ url: "form2", method
$.ajax({
url: "form1",
method: 'POST',
data: { field: field}
}).done(function(data) {
$.ajax({
url: "form2",
method: "POST",
data: {
file: data
}
});
});
代码发送数据,但“form2”上的表单没有收到有效的文件对象
如何将接收到的“数据”转换为有效的文件对象?多亏了lordvlad30,我使用FormData()函数以第二种形式发送字段,但将这些属性添加到第二个ajax调用中: 数据类型:“json” processData:false contentType:false 对于第一个电话,我必须补充 xhrFields:{ 响应类型:“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
});
}
});
查看一下
FormData
(),如果您发送的是一个文件,而不仅仅是一个长文本字符串,那么您应该使用:multipart/FormData
作为contentType
(与FormData结合使用)如果我没有错,数据是一个保留术语,可以使用“response”代替