javascript – 通过JQuery AJAX一起发送FormData和字符串数据?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 通过JQuery AJAX一起发送FormData和字符串数据?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1883字,纯文字阅读大概需要3分钟。
内容图文
如何使用FormData()发布文件和输入字符串数据?例如,我有许多其他隐藏的输入数据,我需要将它们发送到服务器,
HTML,
<form action="image.php" method="post" enctype="multipart/form-data">
<input type="file" name="file[]" multiple="" />
<input type="hidden" name="page_id" value="<?php echo $page_id;?>"/>
<input type="hidden" name="category_id" value="<?php echo $item_category->category_id;?>"/>
<input type="hidden" name="method" value="upload"/>
<input type="hidden" name="required[category_id]" value="Category ID"/>
</form>
使用下面的代码我只管理发送文件数据而不是隐藏的输入数据.
jQuery的,
// HTML5 form data object.
var fd = new FormData();
var file_data = object.get(0).files[i];
var other_data = $('form').serialize(); // page_id=&category_id=15&method=upload&required%5Bcategory_id%5D=Category+ID
fd.append("file", file_data);
$.ajax({
url: 'add.php',
data: fd,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
alert(data);
}
});
server.php
print_r($_FILES);
print_r($_POST);
结果,
Array
(
[file] => Array
(
[name] => xxx.doc
[type] => application/msword
[tmp_name] => C:\wamp\tmp\php7C24.tmp
[error] => 0
[size] => 11776
)
)
我想把这个作为我的结果,
Array
(
[file] => Array
(
[name] => xxx.doc
[type] => application/msword
[tmp_name] => C:\wamp\tmp\php7C24.tmp
[error] => 0
[size] => 11776
)
)
Array
(
[page_id] => 1000
[category_id] => 12
[method] => upload
...
)
可能吗?
解决方法:
var fd = new FormData();
var file_data = $('input[type="file"]')[0].files; // for multiple files
for(var i = 0;i<file_data.length;i++){
fd.append("file_"+i, file_data[i]);
}
var other_data = $('form').serializeArray();
$.each(other_data,function(key,input){
fd.append(input.name,input.value);
});
$.ajax({
url: 'test.php',
data: fd,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
console.log(data);
}
});
添加了一个for循环,并将.serialize()更改为.serializeArray(),以便在.each()中引用对象以附加到FormData.
内容总结
以上是互联网集市为您收集整理的javascript – 通过JQuery AJAX一起发送FormData和字符串数据?全部内容,希望文章能够帮你解决javascript – 通过JQuery AJAX一起发送FormData和字符串数据?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。