>웹 프론트엔드 >JS 튜토리얼 >jQuery를 사용하여 JSON 데이터를 보내는 방법: 양식으로 인코딩된 문자열을 피합니까?

jQuery를 사용하여 JSON 데이터를 보내는 방법: 양식으로 인코딩된 문자열을 피합니까?

DDD
DDD원래의
2024-11-04 09:02:30880검색

How to Send JSON Data with jQuery: Avoiding Form-Encoded Strings?

jQuery로 JSON 데이터 보내기: 양식 인코딩 문자열 방지

JQuery의 $.ajax()를 사용하여 JSON 데이터를 전송하는 동안 개발자는 다음을 수행할 수 있습니다. 데이터가 의도한 JSON 형식 대신 양식으로 인코딩된 문자열로 전송되는 문제가 발생합니다. 이는 특정 매개변수가 생략된 경우에 발생합니다.

다음 코드를 고려하세요.

var arr = {City:'Moscow', Age:25};
$.ajax(
   {
        url: "Ajax.ashx",
        type: "POST",
        data: arr,
        dataType: 'json',
        async: false,
        success: function(msg) {
            alert(msg);
        }
    }
);

이 코드에서 데이터는 양식 인코딩된 문자열로 전송됩니다(예: "City=Moscow&Age= 25")이 아닌 JSON입니다. 이 문제를 해결하려면 두 가지 중요한 단계를 수행해야 합니다.

  1. 데이터를 JSON 형식으로 변환:
    JSON.stringify() 메서드를 사용하여 JavaScript 객체(arr)를 JSON 문자열로 변환합니다.

    var arr = { City: 'Moscow', Age: 25 };
    var json_data = JSON.stringify(arr);
  2. 요청 콘텐츠 유형 지정:
    contentType 속성을 'application/json; charset=utf-8'을 사용하여 요청에 JSON 데이터가 포함되어 있음을 나타냅니다.

    contentType: 'application/json; charset=utf-8',

아래의 수정된 코드에는 다음 변경 사항이 통합되어 있습니다.

$.ajax({
    url: 'Ajax.ashx',
    type: 'POST',
    data: json_data,
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    async: false,
    success: function(msg) {
        alert(msg);
    }
});

이러한 조정은 다음을 보장합니다. 데이터가 JSON으로 전송되므로 서버가 요청을 올바르게 처리하고 원하는 JSON 응답을 반환할 수 있습니다.

위 내용은 jQuery를 사용하여 JSON 데이터를 보내는 방법: 양식으로 인코딩된 문자열을 피합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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