jquery의 $.ajax()
을 사용하여 MessagePack 형식의 데이터를주고받을 수 있기를 바랍니다. 새로운 Content-Type
형식을 지원하기 위해 $.ajax()
을 어떻게 확장합니까?
2
A
답변
0
$.ajaxPrefilter()을 사용하면 AJAX 요청을 보내기 전에 사용자 지정 처리를 정의 할 수 있습니다.
반환 된 데이터의 사용자 지정 유형을 처리하려면 $.ajax()
또는 $.ajaxSetup()
에 converters
옵션을 사용하십시오.
+0
문서에서 바로 사용 방법을 알 수 없습니다. '$ .ajaxPrefilter()'는 요청 처리를 처리하는 반면,'converters'는 응답 처리를 처리합니까? –
+0
그래,이 문서는별로 좋지 않습니다. 최선의 방법은 미리 정의 된 유형에 내부적으로 jQuery 소스 코드가 어떻게 사용되는지 확인하기 위해 jQuery 소스 코드를 읽는 것입니다. – Barmar
문자열은 문자열입니다. jQuery 데이터 유형은 문자열을 object, html, xml 등으로 변환하는 데 도움이됩니다. 따라서 문자열을 보내고 자신 만의 구문 분석을 수행하십시오. – adeneo
물론, jQuery가 자동으로 json 응답을 구문 분석하는 방식은 멋지다. jQuery의 content-type 인식을 확장 할 수 있다면, 파서에 대한 호출로 코드베이스를 퍼팅하지 않고 프로젝트를'application/json'에서'application/msgpack'으로 전환 할 수 있습니다. –
$ .ajax를 확장하지 않고도 자신 만의 재사용 가능한 함수를 작성할 수는 있지만 $ .ajax 함수를 원하는대로 확장 할 수는 있지만 새로운 Ajax 함수를 작성하는 것보다 훨씬 복잡합니다. $ .ajax를 내부적으로 분석하고 결과를 파싱하여 반환합니다. – adeneo