当我尝试将文件数据附加到 ajax 数据字符串时,出现“未捕获的类型错误: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,那将是一个很大的帮助。
最佳答案
您可以使用 FormData为此目的:
var formData = new FormData();
formData.append('upload', $("#upload")[0].files[0]);
$.ajax({
type: "post",
url: '.../upload.php',
data: formData,
contentType: false,
processData: false,
})
关于javascript - append() 不是 ajax 数据字符串中的函数 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36283209/