>  기사  >  백엔드 개발  >  JQuery AJAX에서 FormData와 문자열 데이터를 동시에 보내는 방법은 무엇입니까?

JQuery AJAX에서 FormData와 문자열 데이터를 동시에 보내는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-22 14:20:03958검색

How to Send FormData and String Data Simultaneously in JQuery AJAX?

JQuery AJAX에서 FormData와 문자열 데이터를 동시에 보내기

파일 업로드와 관련된 양식으로 작업할 때 파일 데이터를 추가 항목과 결합해야 합니다. 서버에 제출할 문자열 데이터입니다. JQuery AJAX에서 FormData()를 사용하여 이를 달성하는 방법은 다음과 같습니다.

파일 및 문자열 데이터로 FormData 구축:

<code class="javascript">// Create a new FormData object
var fd = new FormData();

// Append file data
for (var i = 0; i < file_data.length; i++) {
  fd.append("file_" + i, file_data[i]);
}

// Append other string data using serializeArray()
var other_data = $('form').serializeArray();
$.each(other_data, function (key, input) {
  fd.append(input.name, input.value);
});</code>

다음을 사용하여 데이터 제출 AJAX:

<code class="javascript">$.ajax({
  url: 'submit.php',
  data: fd,
  contentType: false,
  processData: false,
  type: 'POST',
  success: function (data) {
    console.log(data);
  },
});</code>

설명:

  • serializeArray(): 이 메소드는 양식 데이터를 배열로 검색합니다. 각 입력의 이름과 값에 대한 더 나은 제어를 제공합니다.
  • contentType: false 및 processData: false: 이러한 설정은 JQuery의 기본 데이터 처리를 비활성화하고 원시 FormData가
  • 'submit.php': 이를 파일 및 문자열 데이터를 처리할 서버측 스크립트의 URL로 바꿉니다.

서버 측 고려 사항:

서버에서 파일 및 문자열 데이터를 검색하려면 다음 코드를 사용할 수 있습니다.

<code class="php">// Files
print_r($_FILES);

// Other data
print_r($_POST);</code>

위 내용은 JQuery AJAX에서 FormData와 문자열 데이터를 동시에 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.