Javascript图片上传(非框架)

时间:2014-04-14 04:01:21

标签: javascript php

我想通过JavaScript(非框架)上传图片。有没有人有一个如何做到这一点的基本例子?

我收到此错误消息:

  

警告:多行/表格数据中缺少边界0行上未知的POST数据数组()

这是我到目前为止所做的工作。

<form action="" method="" enctype="" id="uploadImage">
<input type="file" name="image1" id="image1" value="" >
<input type="button" id="submit_button" data-data_enctype="multipart/form-data"     data-form_name="uploadImage" data-url="/gallery/images/upload/" data-change_div="getForm"  value="Upload" onclick="image(this.id, form.id)"/>
</form>

var xmlhttp;
if (window.XMLHttpRequest)
{
    xmlhttp = new XMLHttpRequest();
}
else
{
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

var datVar = document.getElementById(id);
var url = datVar.dataset.url;
var change_div = datVar.dataset.change_div;

xmlhttp.onreadystatechange = function()
{
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
    {
        document.getElementById(change_div).innerHTML = xmlhttp.responseText;
    }
}

xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type", "multipart/form-data");
xmlhttp.send('NULL');

1 个答案:

答案 0 :(得分:0)

您需要将要发送的数据传递给xmlhttp.send()方法。目前你传递它'NULL'所以它抱怨数据丢失。

喜欢的东西 var data = document.getElementById('#uploadImage'); 得到表格。 创建FormData对象(仅在现代浏览器中支持FormData) var formData = new FormData(data); 然后将formData传递给send方法应该这样做。