jQuery ajax 함수의 contentType과 dataType의 차이점
다음 Jquery 콜백 함수가 있으며 그것에 대해 약간의 의심이 있습니다 (Jquery를 잘 모르고 있습니다).
$("form.readXmlForm").submit(function() {
// Riferimento all'elemento form che ha scatenato il submit
var form = $(this);
// Variabile che contiene il riferimento al bottone clickato
var button = form.children(":first");
$.ajax({ // Viene eseguita la chiamata AJAX
type: "POST", // Tipo di richiesta: POST
// URL verso quale viene inviata la richiesta
url: form.attr("action"),
// Dati XML inviati:
data: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><javaBean><foo>bar</foo><fruit>apple</fruit></javaBean>",
// Tipo di media type accettabile dalla response:
contentType: "application/xml",
dataType: "text",
success: function(text) {
MvcUtil.showSuccessResponse(text, button);
},
error: function(xhr) {
MvcUtil.showErrorResponse(xhr.responseText, button);
}
});
보시다시피이 기능은 백엔드에 대한 AJAX 요청을 실행하여이 요청에 대한 매개 변수를 설정합니다.
URL로 요청을 보내고, 요청은 POST 요청이며, 보내는 데이터는 다음 문자열임을 설정했습니다.
"barapple"
contentType 과 dataType 의 차이점을 이해하는 데 어려움이 있습니다.
contentType 이 HTTP 응답에 허용되는 데이터 유형을 지정 한다고 생각 합니다. 맞습니까?
그리고 dataType? 뭐라고? HTTP 요청에서 보내는 데이터 유형은 무엇입니까?
이 경우 XML 코드를 나타내는 텍스트 문자열을 전송하기 때문에 "텍스트"입니까?
로부터 문서 :
contentType (기본값 : 'application / x-www-form-urlencoded; charset = UTF-8')
유형 : 문자열
서버로 데이터를 보낼 때이 컨텐츠 유형을 사용하십시오. 기본값은 "application / x-www-form-urlencoded; charset = UTF-8"이며 대부분의 경우 적합합니다. content-type을 $ .ajax ()에 명시 적으로 전달하면 데이터가 전송되지 않더라도 항상 서버로 전송됩니다. 문자 집합이 지정되지 않으면 서버의 기본 문자 집합을 사용하여 서버로 데이터가 전송됩니다. 서버 측에서이를 적절하게 디코딩해야합니다.
과:
dataType (기본값 : Intelligent Guess (xml, json, 스크립트 또는 html))
유형 : 문자열
서버에서 다시 기대하는 데이터 유형입니다. 아무것도 지정하지 않으면 jQuery는 응답의 MIME 유형을 기반으로 유추하려고 시도합니다 (XML MIME 유형은 XML을 생성하고 1.4에서 JSON은 JavaScript 객체를 생성하고 1.4 스크립트에서 스크립트를 실행하며 그 밖의 모든 것은 문자열로 반환).
그것들은 본질적으로 당신이 생각했던 것과 반대입니다.
영어로:
ContentType
: 서버로 데이터를 전송할 때이 컨텐츠 유형을 사용하십시오. 기본값은application/x-www-form-urlencoded; charset=UTF-8
입니다. 대부분의 경우에 적합합니다.Accepts
: 요청 헤더에 전송 된 컨텐츠 유형으로 서버가 어떤 응답을받을 것인지 서버에 알려줍니다. 에 따라 다릅니다DataType
.DataType
: 서버에서 다시 기대하는 데이터 유형입니다. 아무것도 지정하지 않으면 jQuery는 응답의 MIME 유형을 기반으로 추론하려고 시도합니다. 일 수 있습니다text, xml, html, script, json, jsonp
.
'programing tip' 카테고리의 다른 글
cmd에서 PATH 변수를 영구적으로 업데이트하는 방법은 무엇입니까? (0) | 2020.07.18 |
---|---|
앱 실행 실패 앱 : processDebugResources Android Studio (0) | 2020.07.18 |
한 줄에 Java 로깅 출력을 표시하려면 어떻게합니까? (0) | 2020.07.18 |
여러 개의 태그를 선택하는 XPath (0) | 2020.07.18 |
++ someVariable과 JavaScript의 someVariable ++ (0) | 2020.07.18 |