HTML5 FormData를 JSON으로 변환: 단계별 가이드
문제: jQuery를 사용하거나 전체 객체를 직렬화하지 않고 FormData 객체를 JSON으로 변환합니다.
답변:
FormData 객체의 항목을 JSON으로 변환하려면 다음 단계를 따르세요.
forEach 사용 예 :
<code class="js">var object = {}; formData.forEach(function(value, key){ object[key] = value; }); var json = JSON.stringify(object);</code>
ES6 화살표 기능 사용 예:
<code class="js">var object = {}; formData.forEach((value, key) => object[key] = value); var json = JSON.stringify(object);</code>
다중 선택 목록 지원:
양식에 다중 선택 목록이나 다중 값이 있는 기타 요소가 포함된 경우 다음 접근 방식을 사용할 수 있습니다.
<code class="js">var object = {}; formData.forEach((value, key) => { if(!Reflect.has(object, key)){ object[key] = value; return; } if(!Array.isArray(object[key])){ object[key] = [object[key]]; } object[key].push(value); });</code>
FormData를 서버로 보내기:
양식 데이터를 서버에 제출하려는 경우 JSON으로의 변환을 건너뛰고 XMLHttpRequest 또는 Fetch API 요청을 사용하여 FormData 객체를 직접 보낼 수 있습니다.
주의:
JSON.stringify() 메서드는 모든 유형의 객체를 지원하지 않을 수 있습니다. 객체에 지원되지 않는 유형이 포함된 경우 직렬화 논리를 지정하기 위해 사용자 정의 toJSON() 메서드를 구현해야 할 수도 있습니다.
위 내용은 jQuery나 직렬화 없이 HTML5 FormData를 JSON으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!