آپلود فایل با Ajax

0 امتیاز
47 بازدید
سوال شده خرداد 16, 1395 توسط hadi.es  

سلام استاد

مگه این فایل متغیر data رو نمیفرسته توی فایل upload.php??

:

window.addEventListener("load",function(e){
	document.getElementById("result").style.width="0";
	var submit=document.getElementById("submit");
	submit.addEventListener("click",handleupload);
});

var handleupload=function(e){
	e.preventDefault();
	var fileinput=document.getElementById("file");
	var data=new FormData();
	//alert(fileinput.files.length);
	for(var i=0;i<fileinput.files.length;i++)
	{
		data.append('files[]',fileinput.files[i]);	
	}
	var request=new XMLHttpRequest();
	request.upload.addEventListener('progress',function(event){
		if(event.lengthComputable)
		{
	document.getElementById("msg").innerHTML="Wait";
			var percent=event.loaded/event.total;
			var result=Math.round(percent*100);
			document.getElementById("result").style.width=result*16+70;
			document.getElementById("result_percent").innerHTML=result+"%";
		}
	});

	request.upload.addEventListener('load',function(event){});
	request.upload.addEventListener('error',function(event){ alert('there is an error'); });

	request.open('POST','upload.php');
	request.setRequestHeader('Chache-Control','no-chache');
	request.send(data);
}

خب پس چرا وقتی میخوام توی فایل upload.php متغیر data رو چاپ کنم نمیشه!!

میگه: undefinde index data

 

اینم فایل php:

  <script src=upload.js></script>

	<form action="upload.php" method="post" enctype="multipart/form-data">
		<input type="file" name="file[]" id="file" multiple="multiple" />
    <input type="submit" id="submit" name=give_da />
	</form>
  <h4 id=msg></h4>
	<div id="result"></div>
  <center><span id=result_percent></span></center>
</body>
</html>
<?php
  echo $_FILES["file"]["name"];
?>

 

این مطلب را به اشتراک بگذارید

1 پاسخ

0 امتیاز
پاسخ داده شده خرداد 16, 1395 توسط ASHKARAN  

با عرض سلام

کد های زیر رو بررسی بفرمایید :

<script>


window.addEventListener("load",function(e){
	
	var submit=document.getElementById("submit");
	submit.addEventListener("click",handleupload);
});

var handleupload=function(e){
	e.preventDefault();
	var fileinput=document.getElementById("file");
	var data=new FormData();
	//alert(fileinput.files.length);
	for(var i=0;i<fileinput.files.length;i++)
	{
		data.append('files[]',fileinput.files[i]);	
	}
	var request=new XMLHttpRequest();
	request.upload.addEventListener('progress',function(event){
		if(event.lengthComputable)
		{
	document.getElementById("msg").innerHTML="Wait";
			var percent=event.loaded/event.total;
			var result=Math.round(percent*100);
		
			document.getElementById("result_percent").innerHTML=result+"%";
		}
	});


     request.onreadystatechange = function() {
        if (request.readyState == 4 && request.status == 200) {
            document.getElementById("result").innerHTML = request.responseText;
        }
    };

	request.upload.addEventListener('load',function(event){});
	request.upload.addEventListener('error',function(event){ alert('there is an error'); });

	request.open('POST','http://localhost/upload.php');
//	request.setRequestHeader('Chache-Control','no-chache');
	request.send(data);
}


</script>


<input type="file" name="file" id="file" />
<input type="submit" name="submit" id="submit" />

<div id="msg">

</div>


<div id="result_percent">

</div>


<div id="result">

</div>

<?php

header('Access-Control-Allow-Origin: *');

print_r($_FILES);

?>

977 سوال

819 پاسخ

1,329 دیدگاه

1,273 کاربر

متاسفانه نیستم

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...