PDA

View Full Version : سوال: Uncaught TypeError: Illegal invocation



woeful
دوشنبه 16 تیر 1393, 22:10 عصر
سلام
یه کد ساده با ajax.$ نوشتم ولی ارور زیر رو داخل console مرورگر گوگل کروم نشون میده ممنون میشم راهنمایی کنید :

ارور :




!important]Uncaught TypeError: Illegal invocation jquery-1.10.2.min.js:6



کد :

<!DOCTYPE HTML><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#clickable').on('change', function(){
var fd = new FormData();
var input = $('#clickable');
console.log($('#clickable').prop("files")[0]);
fd.append('name', $('#clickable').prop("files")[0]);

$.ajax({
type: "POST",
url: './up.php',
data: fd
});
});


});


</script>
</head>
<body>
<div id="maininput">
<input type="file" id="clickable">
</div>
<form action="processupload.php" onSubmit="return false" method="post" enctype="multipart/form-data" id="MyUploadForm">
</form>


</body>
</html>

همین کد رو که داخل مرورگر firefox اجرا می کنم در افزونه fire bug این ارور رو می گیرم :


TypeError: 'append' called on an object that does not implement interface FormData.

ممنون میشم راهنمایی کنید

mehdi.mousavi
سه شنبه 17 تیر 1393, 08:13 صبح
سلام.
دو پارامتر processData و contentType رو با مقادیر false به $.ajax پاس کنید، مشکل رفع میشه:

$.ajax({
type: 'POST',
url: './up.php',
data: fd,
processData: false,
contentType: false
});



برای اطلاعات بیشتر به این آدرس (https://developer.mozilla.org/en-US/docs/Web/Guide/Using_FormData_Objects) رجوع کنید.

موفق باشید.