$.ajax가 포함된 쿼리 문자열 대신 JSON을 전송하려면 어떻게 해야 합니까?
jQuery가 쿼리 문자열 대신 실제 JSON을 전송하도록 하는 방법을 쉽게 설명할 수 있습니까?
$.ajax({
url : url,
dataType : 'json', // I was pretty sure this would do the trick
data : data,
type : 'POST',
complete : callback // etc
});
이렇게 하면 실제로 신중하게 준비한 JSON이 쿼리 문자열로 변환됩니다.짜증나는 것 중 하나는 어떤 것이든array: []
오브젝트에서 로 변환됩니다.array[]: []
아마도 쿼리 스팅의 제한 때문일 것입니다.
를 사용하여 오브젝트를 JSON으로 시리얼화한 후contentType
서버가 JSON임을 인식할 수 있도록 합니다.이렇게 하면 효과가 있습니다.
$.ajax({
url: url,
type: "POST",
data: JSON.stringify(data),
contentType: "application/json",
complete: callback
});
주의:JSON
오브젝트는 JavaScript 1.7 / ECMAScript 5 이후를 지원하는 브라우저에서 기본적으로 사용할 수 있습니다.레거시 지원이 필요한 경우 json2를 사용할 수 있습니다.
아니요, 옵션은 수신된 데이터를 해석하는 것입니다.
JSON을 게시하려면 를 통해 직접 문자열화하고processData
할 수 있는 선택권false
.
$.ajax({
url: url,
type: "POST",
data: JSON.stringify(data),
processData: false,
contentType: "application/json; charset=UTF-8",
complete: callback
});
모든 브라우저가 다음 기능을 지원하는 것은 아닙니다.JSON
오브젝트 및 jQuery에는.parseJSON
스트링ifier는 포함되어 있지 않습니다.다른 폴리필 라이브러리가 필요합니다.
ASP와 같은 아키텍처는 많이 알고 있습니다.NET MVC에는 콘텐츠로서 JSON.stringify를 처리하는 기능이 내장되어 있습니다.내 상황은 조금 다르니까 아마 이것은 미래에 누군가에게 도움이 될 것이다.시간이 절약될 거란 거 알아!
http 요구는 다른 서브도메인 상의 IBM(AS400 환경)의 CGI API에 의해 처리되기 때문에 이러한 요구는 크로스 오리진(cross origin), 즉 jsonp입니다.사실 javascript 오브젝트를 통해 jajax를 보냅니다.다음은 Ajax POST의 예입니다.
var data = {USER : localProfile,
INSTANCE : "HTHACKNEY",
PAGE : $('select[name="PAGE"]').val(),
TITLE : $("input[name='TITLE']").val(),
HTML : html,
STARTDATE : $("input[name='STARTDATE']").val(),
ENDDATE : $("input[name='ENDDATE']").val(),
ARCHIVE : $("input[name='ARCHIVE']").val(),
ACTIVE : $("input[name='ACTIVE']").val(),
URGENT : $("input[name='URGENT']").val(),
AUTHLST : authStr};
//console.log(data);
$.ajax({
type: "POST",
url: "http://www.domian.com/webservicepgm?callback=?",
data: data,
dataType:'jsonp'
}).
done(function(data){
//handle data.WHATEVER
});
이것을 asp.net으로 반송하고, 요구된 데이터가 필요한 경우.form [ ] you you to to to유형을 "application/x-www-form-urlencoded; charset=utf-8"로 설정해야 합니다.
원래 투고 내용은 이쪽
다음으로 데이터 타입을 삭제합니다.반품을 기대하지 않으면 POST는 4분 정도 기다렸다가 실패합니다.여기를 참조해 주세요.
언급URL : https://stackoverflow.com/questions/12693947/how-to-send-json-instead-of-a-query-string-with-ajax
'source' 카테고리의 다른 글
Angular ui-router에서 중첩된 상태의 URL이 변경되었지만 템플릿이 로드되지 않습니다. (0) | 2023.02.13 |
---|---|
리액트 앱의 setInterval (0) | 2023.02.13 |
잭슨 동적 속성 이름 (0) | 2023.02.13 |
React에서 상위 컴포넌트 인스턴스에 액세스할 수 있는 방법이 있습니까? (0) | 2023.02.13 |
이름/값 구조를 위한 JSON 스키마 작성 방법 (0) | 2023.02.13 |