使用Jquery ajax无需表单上传文件

这是mycode

function addPackage(elem) { var dataimg = new FormData(); dataimg.append('', $("#browseimg"+elem).prop('files')[0]); var startdate=$("#from_date"+elem).val(); var enddate=$("#to_date"+elem).val(); $.ajax({ url: "addpackage/", type:"post", contentType:false, data:{startdate:startdate,enddate:enddate,packageid:elem,img:dataimg}, success: function(data) { } }); } 

我尝试了post方法ajax来上传图像并输入没有forms的字段数据。 在ajax中调用它显示[object object] 。 如何使用输入字段发布图像而不是在jquery ajax中。

你可以像下面这样做。 希望这会帮助你。

 function addPackage(elem) { var dataimg = new FormData(); dataimg.append('startdate', $("#from_date"+elem).val()); dataimg.append('enddate', $("#to_date"+elem).val()); dataimg.append('packageid', elem); dataimg.append('img', $("#browseimg"+elem)[0].files[0]); $.ajax({ url: "addpackage/", type:"post", cache : false, contentType : false, processType : false, data: dataimg, success: function(data) { } }); } 

你可以试试这个:

你的JS代码:

  

虚拟HTML:

 

在addpackage php文件中:

 print_r($_POST); print_r($_FILES);