0

我想知道是否可以使用 AJAX 同时调用传递参数并通过 POST 上传图像的 PHP 脚本

想象一下这个表格

Insert a title <input id="title" style="width:300px"></input> 
Attach an image <input id="immagine" type="file" name="immy" accept="image/*" size="40"/>

标题很容易传递写作

var ajaxReq = new XMLHttpRequest();

var params = "titolo="+$('#title').val()
var url = "registraDati.php";

ajaxReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxReq.setRequestHeader("Content-length", params.length);
ajaxReq.setRequestHeader("Connection", "close"); 

ajaxReq.send(params)  

而对于图像是必要的,请使用 FormData。像这样的东西(注意它实际上不起作用):

 var file_data = $("#immagine").files[0];    //<----PROBLEM HERE!!
 var form_data = new FormData();                  
 form_data.append("afile", file_data)             
 form_data.append("user_id", 123)                 

 var xhr = new XMLHttpRequest();
 xhr.open('POST', 'uploadImmagine.php', true);
 xhr.send(form_data);

我可以一次完成这两项操作吗?

4

0 回答 0