>웹 프론트엔드 >JS 튜토리얼 >쿼리 문자열 변환 없이 jQuery의 $.ajax를 사용하여 JSON 데이터를 보내는 방법은 무엇입니까?

쿼리 문자열 변환 없이 jQuery의 $.ajax를 사용하여 JSON 데이터를 보내는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-03 12:56:02455검색

How to Send JSON Data with jQuery's $.ajax Without Query String Conversion?

jQuery에서 JSON 전송: 쿼리 문자열 트랩 탈출

jQuery의 $.ajax 함수를 사용할 때 JSON으로 전송된 데이터가 자동으로 처리되는 예기치 않은 동작이 발생하는 것이 일반적입니다. 쿼리 문자열로 변환됩니다. 애플리케이션이 실제 JSON 개체 수신에 의존하는 경우 문제가 될 수 있습니다.

오해의 소지가 있는 'dataType: 'json'' 속성

첫 번째 본능은 다음을 설정하는 것입니다. 예상되는 데이터 유형을 지정하려면 'dataType' 속성을 'json'으로 설정하세요. 그러나 이는 서버에 보내는 데이터 유형이 아닌 서버에서 예상되는 데이터 유형만 나타냅니다.

해결책: JSON.stringify 및 콘텐츠 유형

해결 방법 이 문제에서는 JSON.stringify를 사용하여 JavaScript 개체를 JSON 문자열로 직렬화해야 합니다. 또한 전송되는 데이터가 JSON임을 서버에 지시하려면 'contentType' 속성을 'application/json'으로 설정해야 합니다.

$.ajax({
    url: url,
    type: "POST",
    data: JSON.stringify(data),
    contentType: "application/json",
    complete: callback
});

Legacy Support

최신 브라우저는 기본 JSON 기능을 제공합니다. 그러나 레거시 지원이 필요한 경우 json2 라이브러리를 사용하여 이전 환경의 JSON 동작을 에뮬레이트할 수 있습니다.

위 내용은 쿼리 문자열 변환 없이 jQuery의 $.ajax를 사용하여 JSON 데이터를 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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