当我尝试将文件数据附加到ajax数据字符串时,我得到“未捕获的TypeError:dataString.append不是函数”。
所以这是我的代码
HTML:
<input type="file" id="upload" name="upload">
的Ajax:
var name = document.getElementById("name").value;
var address1 = document.getElementById("address").value;
var dataString = '&name=' + name +
'&address1=' + address1 ;
var fuData = document.getElementById('upload');
var FileUploadPath = fuData.value;
if (FileUploadPath == '') {
alert("Please upload an image");
} else {
dataString.append( "upload", $("#upload")[0].files[0]);
}
$.ajax({
type: "post",
url: ".../upload.php",
data: dataString,
cache: false,
success: function (data) {
var pkg = JSON.parse(data);
if (pkg.status) {
var rs_items = pkg.result_data;
//var msg = pkg.quote;
// alert(pkg.result_data);
alert('saved');
//('#msg').html(msg);
} else {
//alert(pkg.msg);
}
}
});
如果有人可以建议更好的方式将图像上传到PHP的特定表单数据,这将是一个很大的帮助。
答案 0 :(得分:3)
您可以将FormData用于此目的:
var formData = new FormData();
formData.append('upload', $("#upload")[0].files[0]);
$.ajax({
type: "post",
url: '.../upload.php',
data: formData,
contentType: false,
processData: false,
})