Ajax를 사용하여 데이터와 파일을 동시에 업로드하는 방법은 무엇입니까?
<p>jQuery와 Ajax를 사용하여 데이터와 파일을 제출하고 있는데 데이터와 파일을 모두 하나의 형식으로 보내는 방법을 잘 모르겠습니다. </p>
<p>현재 두 가지 방법을 거의 동일한 방식으로 사용하고 있지만 데이터를 배열로 수집하는 방식이 다릅니다. 데이터는 <code>.serialize();</code>를 사용하고 파일은 <code> ;= new FormData($(this)[0]);</code></p>
<p>이 두 가지 방법을 결합하여 Ajax를 통해 파일과 데이터를 하나의 형식으로 업로드할 수 있습니까? </p>
<p><strong>데이터 jQuery, Ajax 및 html</strong></p>
<pre class="brush:php;toolbar:false;">$("form#data").submit(function(){
var formData = $(this).serialize();
$.아약스({
URL: window.location.pathname,
유형: '포스트',
데이터: 양식데이터,
비동기: 거짓,
성공: 함수(데이터) {
경고(데이터)
},
캐시: 거짓,
콘텐츠 유형: 거짓,
프로세스 데이터: 거짓
});
거짓을 반환;
});
<form id="data" method="post">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<버튼>제출</버튼>
<p><strong>문서 jQuery, Ajax 및 html</strong></p>
<pre class="brush:php;toolbar:false;">$("form#files").submit(function(){
var formData = new FormData($(this)[0]);
$.아약스({
URL: window.location.pathname,
유형: '포스트',
데이터: 양식데이터,
비동기: 거짓,
성공: 함수(데이터) {
경고(데이터)
},
캐시: 거짓,
콘텐츠 유형: 거짓,
프로세스 데이터: 거짓
});
거짓을 반환;
});
<form id="files" method="post" enctype="multipart/form-data">
<입력 이름="이미지" 유형="파일" />
<버튼>제출</버튼>
<p>Ajax를 통해 데이터와 파일을 하나의 형식으로 보낼 수 있도록 위의 내용을 어떻게 결합합니까? </p>
<p>제 목표는 Ajax를 통해 이 모든 양식을 함께 보내는 것입니다. 이것이 가능합니까?</p>
<pre class="brush:php;toolbar:false;"><form id="datafiles" 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" />
<입력 이름="이미지" 유형="파일" />
<버튼>提交</button>
<p><br /></p>