Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以同时传输参数和上载图像?_Javascript_Ajax_Forms_Input - Fatal编程技术网

Javascript 是否可以同时传输参数和上载图像?

Javascript 是否可以同时传输参数和上载图像?,javascript,ajax,forms,input,Javascript,Ajax,Forms,Input,我想知道是否可以调用一个PHP脚本来传递参数,同时使用AJAX通过POST上传图像 想象一下这种形式 Insert a title <input id="title" style="width:300px"></input> Attach an image <input id="immagine" type="file" name="immy" accept="image/*" size="40"/> 而对于图像,则必须使用FormData。类似这样的情况

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

想象一下这种形式

Insert a title <input id="title" style="width:300px"></input> 
Attach an image <input id="immagine" type="file" name="immy" accept="image/*" size="40"/>
而对于图像,则必须使用FormData。类似这样的情况(请注意,它实际上不起作用):


var file_data=$(“#immagine”).files[0]//你忘了描述这个问题了。“不工作”不是一个很好的描述。只是好奇:为什么不使用jQuery进行ajax调用?jQuery对象不会直接访问输入的
文件列表。要访问该文件,您需要确保
#immagine
是输入(而不是表单本身),并执行以下操作:
$(“#immagine”).eq(0)。文件[0]
@rciovati:使用jquery不好吗?无论如何,我必须在同一页中的其他操作中使用它,因此我想在所有操作中都使用它。@numbers1311407:我将尝试您的脚本。。所以var file_data=.eq(0).files[0]。。。脚本的其余部分可以吗?
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)  
 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);