formdata를 통해 복잡한 모델 세트를 전달하는 것은 어려울 수 있지만 jQuery 직렬화와 MVC 컨트롤러의 조합을 사용하면 바인딩을 사용하면 이를 효과적으로 달성할 수 있습니다.
모델 세트를 FormData로 변환하려면 양식 직렬화와 함께 jQuery의 FormData 개체를 활용할 수 있습니다. 모델이 양식 태그 내의 뷰에 바인딩된 경우 다음을 사용하여 직렬화합니다.
var formdata = new FormData($('form').get(0));
이렇게 하면 파일 입력을 포함하여 양식 컨트롤에 바인딩된 모든 모델 속성이 자동으로 포함됩니다.
AJAX 요청을 사용하여 컨트롤러에 양식 데이터를 제출합니다.
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
설정을 통해 processData 및 contentType을 false로 설정하면 jQuery를 통해 양식 데이터를 있는 그대로 보낼 수 있습니다.
컨트롤러에서 모델에 바인딩할 강력한 형식의 메서드를 정의할 수 있습니다. set:
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
MVC의 모델 바인딩 시스템은 해당 속성을 기반으로 양식 데이터에서 모델을 자동으로 채웁니다. names.
formdata에 모델이 아닌 추가 속성을 포함해야 하는 경우 다음을 사용하면 됩니다.
formdata.append('someProperty', 'SomeValue');
이렇게 하면 다음을 사용하여 formdata를 확장할 수 있습니다. 컨트롤러에서 액세스할 수 있는 사용자 정의 값입니다.
위 내용은 FormData를 통해 복잡한 모델 세트를 MVC 컨트롤러에 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!