我希望能够将multipart / form-data消息发回服务器。现在我知道我不能直接用ajax调用发送文件,我不想发送任何实际文件。我想格式化帖子,以便它使用this is the file data
字符串模拟文件传输,就好像它是文件的内容一样,test.txt
就好像它是文件名一样。
例如在后端(php)上我想使用echo $_FILES['uploadedfile']['name']
并查看test.txt
。
我假设我不得不捣乱发送的标题,但不确定我必须设置的是什么。我还假设我必须以不同于我通过ajax调用发送的其他数据来处理伪文件数据。现在我的ajax调用看起来像这样:
$.ajax({
beforeSend: function(req) {
req.setRequestHeader("Accept", '');
req.setRequestHeader("Accept", $('#type').val());
},
'url': $('#url').val(),
'type': $('#verb').val(),
'data': data,
'mimeType': 'multipart/form-data',
'complete': function (jqXHR, textStatus) {
var msg = "Data: " + dump(data);
msg += "<br /><br />Status: " + jqXHR.status + " (" + jqXHR.statusText + " - " + textStatus + ")<br />";
msg += jqXHR.getAllResponseHeaders().replace(/\n/g, "<br />");
msg += "---<br />" + jqXHR.responseText;
$('#results').html(msg);
}
});
答案 0 :(得分:0)
您可以使用FormData修补jquery,https://github.com/francois2metz/html5-formdata 并看到这个问题Sending multipart/formdata with jQuery.ajax