我需要与变量数据一起发送一个blob文件, 所以我需要从POST普通
切换 http1.send("var1=" + var1 + "&var2=" + var2 + "")
到 formData 。
但是 formData 完全为空,即使我将其输出到控制台也是如此。 这是我的代码。
var formData = new FormData();
formData.append("customer_id", customer_id)
formData.append("nume", btoa(nume))
formData.append("prenume", btoa(prenume))
formData.append("signature", blob, "signature.jpg");
.....
var phpscript = 'AJAX/ajax_save_form.php'
http1.open('POST', phpscript)
http1.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http1.onreadystatechange = function()
{
if(http1.readyState == 4)
{
if(http1.status == 200)
{
var ajaxMessage = http1.responseText
alert(ajaxMessage)
}
}
}
http1.send(formData);
console.log(formData);
以下是我的变量的一些典型值:
customer_id = 4
nume = 'Bill'
prenume = 'Gates'
blob = .jpeg file
有人可以帮我追踪吗?我哪里错了? 我在网上浏览了20种不同的解决方案和页面,但没有一个可以解决我的问题。
谢谢!!!
答案 0 :(得分:1)
FormData
对象需要作为多部分/表单数据发送,您将内容类型设置为application/x-www-form-urlencoded
。
删除对setRequestHeader
的呼叫,将设置正确的内容类型。