AJax 기본 개념 과 조작
유형: Boolean
기본 값: true.기본 설정 에서 모든 요청 은 비동기 요청 입 니 다.동기 화 요청 을 보 내 려 면 이 옵션 을 false 로 설정 하 십시오.
동기 화 요청 은 브 라 우 저 를 잠 그 고 사용자 의 다른 작업 은 요청 이 완료 되 기 를 기 다 려 야 실행 할 수 있 습 니 다.
var temp; $.ajax({
async: false, type : "POST", url : defaultPostData.url, dataType : 'json', success : function(data) {
temp=data; }
});
alert(temp);
이 ajax 요청 은 동기 화 요청 입 니 다. 반환 값 이 없 을 때 까지 alert (temp) 는 실행 되 지 않 습 니 다.
async 가 true 로 설정 되 어 있 으 면 ajax 요청 이 돌아 오 는 결 과 를 기다 리 지 않 고 ajax 뒤의 문 구 를 직접 실행 합 니 다.
그러나 위 에 동기 화 요청 방법 을 설정 한 네티즌 들 은 async 를 false 로 설정 한 후 데 이 터 를 되 돌려 주 고 $. ajax 뒤의 스 크 립 트 를 실행 하려 고 했 는데 이곳 이 불 여우 브 라 우 저 에서 플래시 스크린 (Firefox 11.0) 이 나타 날 줄 은 몰 랐 다.스크롤 바 아래 에서 ajax 를 끌 어 당 기 는 경우 입 니 다. 마지막 으로 async: false 주석 만 떨 어 뜨 릴 수 있 습 니 다. 즉, async 를 ture 로 하 는 경우, 불 여우 브 라 우 저 스크롤 바 아래 에서 ajax 를 끌 어 당 겨 플래시 화면 이 나타 나 는 문 제 를 성공 적 으로 해결 하 였 습 니 다.
contentType
contentType 은 주로 서버 에 보 내 는 형식 을 설정 합 니 다. 기본 값 은 contentType: application / x - www - form - urlencoded 입 니 다. 구체 적 인 인삼 형식 에 따라 설정 할 수 있 습 니 다. 예 를 들 어 contentType : 'application/json;charset=UTF-8'。
contentType 사용 안 함
contentType: "application / json" 을 사용 하지 않 으 면 data 가 대상 일 수 있 습 니 다.
$.ajax({ url: actionurl, type: "POST", datType: "JSON", data: { id: nodeId }, async: false, success: function () {} })
contentType 사용
contentType: "application / json" 을 사용 하면 data 는 json 문자열 만 사용 할 수 있 습 니 다.
$.ajax({ url: actionurl, type: "POST", datType: "JSON", contentType: "application/json" data: "{'id': " + nodeId +"}", async: false, success: function () {} });
contentType 을 왜 사용 합 니까?
참고:https://www.cnblogs.com/htoooth/p/7242217.html
http 요청 에 서 는 get 과 post 가 가장 많이 사 용 됩 니 다. jquery 의 ajax 에 서 는 contentType 이 기본 값 입 니 다. application / x - ww - form - urlencoded. 이러한 형식의 특징 은 name / value 가 한 그룹 이 되 고 각 그룹 간 에 & 연결 되 며 name 과 value 는 = 연결 을 사용 하 는 것 입 니 다. 예 를 들 어 wwh. baidu. com / q? key = fdsa & lang = zh 는 get 이 며, post 요청 은 get 입 니 다.요청 체 를 사용 하면 인자 가 url 에 있 지 않 고 요청 체 에 있 는 매개 변수 표현 형식 도 key = fdsa & lang = zh 형식 입 니 다.
키 값 은 이러한 조직 에 대해 일반적인 상황 에서 아무런 문제 가 없습니다. 여기 서 말 하 는 것 은 일반적으로 끼 워 넣 지 않 은 유형의 JSON, 즉 간단 한 JSON 입 니 다. 이렇게 생 겼 습 니 다.
{
a: 1,
b: 2,
c: 3
}
그러나 일부 복잡 한 상황 에서 문제 가 생 겼 습 니 다. 예 를 들 어 ajax 에서 복잡 한 json 쌍 상 을 전달 해 야 합 니 다. 즉, 대상 모자이크 라 고 할 수 있 습 니 다. 배열 에는 대상 이 포함 되 어 있 습 니 다. 형 과 는 이렇게 전 합 니 다.
{
data: {
a: [{
x: 2
}]
}
}
이 복잡 한 대상, application / x - ww - form - urlencoded 라 는 형식 은 복잡 한 JSON 을 키 쌍 형식 으로 구성 할 방법 이 없다 (물론 방안 도 있다 는 점 을 참고 할 수 있다. ) ,요청 을 보 낼 수 있 지만 서버 에서 데 이 터 를 받 은 것 은 비어 있 습 니 다. ajax 가 이 데 이 터 를 어떻게 처리 하 는 지 알 수 없 기 때 문 입 니 다.
이게 어떻게 되 지?
똑똑 한 프로그래머 는 http 에서 데이터 형식 을 사용자 정의 할 수 있다 는 것 을 발견 하고 application / json 이라는 형식 을 정의 합 니 다. 이 유형 은 text 입 니 다. 우리 ajax 의 복잡 한 JSON 데 이 터 는 JSON. stringify 로 직렬 화 한 후 보 내 고 서버 에서 받 은 다음 JSON. parse 로 복원 하면 복잡 한 대상 을 처리 할 수 있 습 니 다.
$.ajax({
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify({a: [{b:1, a:1}]})
})
이렇게 하면 복잡 한 JSON 의 대상 을 보 낼 수 있 습 니 다. 현재 의 restclient 는 모두 이렇게 처리 합 니 다.
dataType
dataType 은 서버 데 이 터 를 받 은 형식 을 설정 합 니 다.
JSON.stringify
JSON. stringify () [대상 에서 문자열 분석]
var data={name:'goatling'}
JSON.stringify(data)
결 과 는:
'{"name":"goatling"}'
JSON.parse
JSON. parse () [한 문자열 에서 json 대상 을 분석 합 니 다]. controller 에서 들 려 오 는 실체 클래스, LIst 를 JSON 대상 으로 변환 할 수도 있 습 니 다. jQuery AJAX 방법 success () 배경 에서 들 려 오 는 4 가지 데 이 터 를 참고 할 수 있 습 니 다.
예:
/ / 문자열 정의
var data='{"name":"goatling"}'
/ / 분석 대상
JSON.parse(data)
결 과 는:
name:"goatling"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.