在Ajax表单中上传文件只发送名称,不发送文件数据
Upload file in Ajax Form only sends name, not file data
好吧,我被难住了。我有一个ajax方法:
function check_empty() {
if (document.getElementById('name').value == "" || document.getElementById('email').value == "" || document.getElementById('msg').value == "") {
alert("Fill All Fields !");
} else {
//alert("Will submit form");
// e.preventDefault();
$('#spinner').show();
$('#quote_form').hide();
$('#submit').hide();
var formData = new FormData();
formData.append("file", $("#resume").val());
$.ajax({
type: 'post',
url: '/contact_post.php',
data: formData,
success: function(html) {
alert('Enquiry Submitted. Thank You!');
},
error: function(xhr, status, error) {
var jsonResponseText = $.parseJSON(xhr.responseText);
var message = '';
alert('could not submit form: ' + jsonResponseText['message']);
},
//Options to tell jQuery not to process data or worry about content-type.
processData: false,
contentType: false
});
}
和请求参数在firefox下说:----------------------------- 4894670511610358147552973488附加:格式;name = "文件"
test.pdf----------------------------- 4894670511610358147552973488——
但是实际的文件数据在哪里?我似乎不能"发送文件",我有PHP在另一端接收它
使用ajax发布文件时,请确保获得对该文件的有效引用。通常看起来像:
formData.append("file", document.getElementById("resume").files[0]);
另外,您可能需要设置您的内容类型来处理文件,因此类似于:
ajaxRequest.setRequestHeader("Content-Type", "multipart/form-data");
相关文章:
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何使用jQuery获取txt文件数据中的行数
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 当$_FILES为空但$_POST有文件数据时进行处理
- 用于在表和报表的发件人中表示 CSV 文件数据的工具
- flow.js上传的文件数据在哪里
- 使用Chart.js中的JSON文件数据
- 将资源文件数据从控制器传输到js文件
- Jquery submit()没有't传递文件数据
- 如何使用 Javascript 循环遍历外部 JSON 文件数据
- 在Chrome中下载后访问文件数据..
- 使用jQueryFileUpload发送的文件数据在哪里
- 可以从文件上传输入中获取文件数据/val,并通过Ajax请求将其发送到服务器
- 无法从客户端将文件数据发送到 nodejs 服务器
- 将文件数据作为多部分表单数据发送到服务器
- 将图像文件数据发送到 RESTful 服务
- 如何在高图表上加载CSV文件数据
- 如何从 javascript 中提醒 json 文件数据
- 如何引用要与 HTML 和 jQuery 一起使用的 XML 文件/数据
- 尝试通过AJAX发送输入文件数据,可以'我无法访问控制器中的数据