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입니다. 이 문제를 해결하려면 두 가지 중요한 단계를 수행해야 합니다.
데이터를 JSON 형식으로 변환:
JSON.stringify() 메서드를 사용하여 JavaScript 객체(arr)를 JSON 문자열로 변환합니다.
var arr = { City: 'Moscow', Age: 25 }; var json_data = JSON.stringify(arr);
요청 콘텐츠 유형 지정:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!