jQuery-FormData发送一个空图像 [英] jQuery - FormData sends an empty image
本文介绍了jQuery-FormData发送一个空图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我使用jquery提交表单时,发生了奇怪的事情.即使我没有选择表单中的任何图像,$_FILES
数组也包含一个空值.如果我选择图像,则会有一个额外的空值.
Weird thing is happening when I submit a form using jquery. Even though I don't pick any image in the form, the $_FILES
array contains an empty value. If I pick images, there is one extra empty value.
以前有人看过吗?
Array
(
[item_image] => Array
(
[name] => Array
(
[0] =>
)
[type] => Array
(
[0] =>
)
[tmp_name] => Array
(
[0] =>
)
[error] => Array
(
[0] => 4
)
[size] => Array
(
[0] => 0
)
)
)
AJAX
AJAX
$( "#fileupload" ).submit(function( event )
{
//disable the default form submission
event.preventDefault();
//grab all form data
var formData = new FormData(this);
$.ajax({
url: 'ajax/add-item.php',
data: formData,
type: 'POST',
cache: false,
contentType: false,
processData: false,
success: function (data) {
alert(data);
if(data)
{
$("#fileupload > div.alert").text('Upload successful.');
$('html, body').animate({scrollTop : 0},700);
document.getElementById("#fileupload").reset();
}
}
});
});
推荐答案
尝试以下示例:
HTML/PHP
<?
print_r($_POST);
print_r($_FILES);
?>
<form id="data" method="post" enctype="multipart/form-data">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<input name="image" type="file" />
<button>Submit</button>
</form>
jQuery
$("form#data").submit(function(){
var formData = new FormData($(this)[0]);
$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
return false;
});
祝你好运!
这篇关于jQuery-FormData发送一个空图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文