jQuery Ajax를 사용하여 MVC 컨트롤러에 객체 배열 보내기
jQuery의 ajax()
메서드를 사용하여 MVC 컨트롤러에 객체 배열을 보낼 때 컨트롤러의 매개변수가 null
값을 받을 수 있습니다. 이 문서에서는 솔루션을 간략하게 설명합니다.
Null 값 문제 해결
이 문제는 일반적으로 잘못된 데이터 직렬화 및 콘텐츠 유형 처리로 인해 발생합니다. 문제를 해결하는 방법은 다음과 같습니다.
콘텐츠 유형 및 데이터 유형 설정:
ajax()
기능에는 명시적인 contentType
및 dataType
설정이 필요합니다.
<code class="language-javascript">contentType: 'application/json; charset=utf-8', dataType: 'json',</code>
JSON 직렬화:
객체 배열은 JSON.stringify()
을 사용하여 JSON 형식으로 직렬화되어야 합니다. 다음과 같이 데이터를 구성하세요.
<code class="language-javascript">things = JSON.stringify({ things: things });</code>
예시
이 예에서는 객체 배열을 성공적으로 전달하는 방법을 보여줍니다.
<code class="language-javascript">$(document).ready(function() { const things = [ { id: 1, color: 'yellow' }, { id: 2, color: 'blue' }, { id: 3, color: 'red' } ]; const data = JSON.stringify({ things: things }); $.ajax({ contentType: 'application/json; charset=utf-8', dataType: 'json', type: 'POST', url: '/Home/PassThings', data: data, success: function() { $('#result').html('"PassThings()" successfully executed.'); }, error: function(response) { $('#result').html(response.responseText); // Display error details } }); });</code>
해당 컨트롤러 메서드(C# 예):
<code class="language-csharp">public void PassThings(List<Thing> things) { // Process the 'things' list here }</code>
/Home/PassThings
를 실제 컨트롤러와 액션으로 바꾸는 것을 잊지 마세요. error
대신 failure
을 사용하면 더 많은 정보를 제공하는 오류 처리가 가능합니다. 이러한 수정된 접근 방식은 적절한 데이터 전송을 보장하고 null
가치 문제
위 내용은 jQuery Ajax를 사용하여 객체 배열을 MVC 컨트롤러에 올바르게 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!