使用 JQuery AJAX 同时传输 FormData 和字符串数据
要使用 FormData() 发送文件和字符串数据,请考虑以下方法:
创建一个新的 FormData 对象:
<code class="javascript">var fd = new FormData();</code>
对于多个文件,从文件输入中检索选定的文件:
<code class="javascript">var file_data = $('input[type="file"]')[0].files;</code>
循环遍历文件并追加使用每个文件的唯一名称将它们添加到 FormData:
<code class="javascript">for(var i = 0;i<file_data.length;i++){ fd.append("file_"+i, file_data[i]); }</code>
接下来,使用 jQuery 的 .serializeArray() 检索非文件输入数据:
<code class="javascript">var other_data = $('form').serializeArray();</code>
迭代非文件- 文件输入数据并使用 .append() 将其附加到 FormData:
<code class="javascript">$.each(other_data,function(key,input){ fd.append(input.name,input.value); });</code>
最后,使用 FormData 作为数据负载配置 AJAX 请求:
<code class="javascript">$.ajax({ url: 'test.php', data: fd, contentType: false, processData: false, type: 'POST', success: function(data){ console.log(data); } });</code>
通过以下方式通过这些步骤,您可以通过 FormData 和 JQuery AJAX 有效地同时发送文件和字符串数据,确保所有必要的信息都传输到服务器。
以上是如何使用JQuery AJAX同时传输FormData和字符串数据?的详细内容。更多信息请关注PHP中文网其他相关文章!