ajax
Description
Gantt ajax 모듈
ajax: any
Example
// 응답이 다음과 같이 생겼다고 가정
{status: "ok", data: "value", data2: "value2"}
var xhr = gantt.ajax;
// HTTP GET
xhr.get("server.php").then(function(response) {
var res = JSON.parse(response.responseText);
if (res && res.status == "ok") {
// 응답이 정상임
}
});
// HTTP POST
xhr.post({
url:"server.php",
data: {
paramName: "paramValue"
}
}).then(function(response){
var res = JSON.parse(response.responseText);
if (res && res.status == "ok") {
// 응답이 정상임
}
});
Details
API 참조
모든 메서드는 두 가지 방식 중 하나로 매개변수를 받습니다:
- RequestConfig - 요청 구성을 위한 옵션 객체로, 다음과 같은 구조입니다:
{
url: string,
method: "PUT|GET|POST|DELETE",
data: string | object,
async: true|false,
callback: function,
headers: object
}
각 항목의 의미는:
- url - 서버 URL
- method - 선택 사항, 사용할 HTTP 메서드, 기본값은 "GET"
- data - 선택 사항, POST 또는 PUT 요청 시 전송할 데이터; 문자열 또는 객체 가능
- async - 선택 사항, 비동기 요청 여부, 기본값은 true
- callback - 선택 사항, 응답 수신 후 호출할 함수
- headers - 선택 사항, 요청에 포함할 헤더를 키-값 쌍으로 가진 객체
또는:
- 세 개의 매개변수 (단, query() 메서드는 RequestConfig 객체만 받음):
- url - 서버 URL
- data - 선택 사항, POST 요청 시 전송할 데이터
- callback - 선택 사항, 응답 수신 후 호출할 함수
아래는 ajax 모듈 API에서 사용 가능한 메서드 목록입니다:
콜백 옵션
모든 메서드는 콜백과 프로미스를 모두 지원하여 응답을 처리할 수 있습니다.
ajax 프로미스는 완료된 XmlHttpRequest 객체로 해결됩니다:
gantt.ajax.post({
url:"some.php",
data: {
paramName: "paramValue"
}
}).then(function(response){
alert(response.responseText);
});
레거시 호환을 위해 콜백에서는 결과를 약간 다른 형식으로 받습니다:
gantt.ajax.post({
url:"some.php",
data: {
paramName: "paramValue"
},
callback: function(result){
var response = result.xmlDoc;
alert(response.responseText);
}
});
query
요청을 보내는 일반 메서드입니다. 파라미터에서 어떤 HTTP 메서드든 지정할 수 있습니다.
gantt.ajax.query({
url:"some.php",
method:"POST",
data: {
paramName: "paramValue"
}
}).then(function(response){
alert(response.responseText);
});
get
GET 요청을 보냅니다.
gantt.ajax.get("some.php", function(){
// 여기에 코드 작성
});
// 또는
gantt.ajax.get({
url: "https://…",
callback: function() {…},
headers: { "Content-Type": "application/json" }
});