jquery ajax contentType은 무엇을 의미합니까?
phpcn_u1582
phpcn_u1582 2017-07-05 11:02:37
0
6
994

POST 요청의 contentType이 application/json으로 설정되어 있는데, 요청이 데이터의 json을 문자열로 변환한다고요?
조언 좀 부탁드려요.
코드는 다음과 같습니다

으아아아

패킷 캡처 요청

으아아아
phpcn_u1582
phpcn_u1582

모든 응답(6)
漂亮男人

参考:jQuery.ajax() 文档

contentType (기본값: 'application/x-www-form-urlencoded; charset=UTF-8')

유형: 부울 또는 문자열

서버에 데이터를 보낼 때 이 콘텐츠 유형을 사용하세요. 기본값은 "application/x-www-form-urlencoded; charset=UTF-8"이며 대부분의 경우 괜찮습니다. 컨텐츠 유형을 $.ajax()에 명시적으로 전달하면 항상 서버로 전송됩니다(데이터가 전송되지 않더라도). jQuery 1.6부터는 false를 전달하여 jQuery에 콘텐츠 유형 헤더를 설정하지 않도록 지시할 수 있습니다. 참고: W3C XMLHttpRequest 사양에서는 문자 집합이 항상 UTF-8임을 나타냅니다. 다른 문자 세트를 지정해도 브라우저가 강제로 인코딩을 변경하지 않습니다. 참고: 도메인 간 요청의 경우 콘텐츠 유형을 application/x-www-form-urlencoded, multipart/form-data, or text/plain 이외의 다른 것으로 설정하면 브라우저가 실행 전 OPTIONS 요청을 서버로 보내게 됩니다.

一般是用 application/x-www-form-urlencoded,也就是默认值,上传文件通常是用 multipart/form-data,现在很多使用 JSON 接口的也用后面这种。text/plain 我平时见得不多。

补充

jQuery의 ajax 要发送 application/json 请求需要

  1. contentType: "application/json;charset=UTF-8"

  2. 프로세스데이터: false

  3. 데이터: stringify(aObject)

比如

으아악

过去多啦不再A梦

사용된 데이터 형식

滿天的星座

간단히 말하면 요청한 데이터는 xxx 유형으로 처리됩니다.
따라서 dataType은 서버에서 반환된 데이터를 xxx 유형으로 처리하는 것입니다.

黄舟

http로 전송되는 데이터는 모두 문자열이지만 서버는 데이터를 수신할 때 contentType에 따라 문자열을 다른 방식으로 구문 분석합니다. 객체는 http뿐만 아니라 메모리에만 존재할 수 있으며, 네트워크를 통해 전송되는 모든 데이터는 문자열을 기반으로 합니다.

Peter_Zhu

우선 패킷 캡처에는 문제가 없다고 생각합니다. 실제로 POST 요청을 사용하는 경우
패킷 캡처를 보면 POST가 요청을 직렬화하지 않기 때문에 GET 요청인 것 같습니다. 매개변수

contentType이 무엇을 의미하는지 이야기해 볼까요?

Ajax의 contentType은 HTTP 요청 헤더 세트입니다. 이 헤더의 목적은 내 요청 매개변수가 어떤 형식인지 서버에 알려주는 것입니다. 해당 형식에 따라 처리해야 합니다.
기본값은 일반 양식 제출 형식인 "application/x-www-form-urlencoded; charset=UTF-8"입니다. 물론 "application/json"과 같이 이를 재정의할 수도 있습니다. 서버는 이를 json 요청 매개변수로 직접 가져올 수 있습니다. 키값을 하나씩 대신

伊谢尔伦

이는 요청 헤더의 contentType을 수정하기 위한 것일 뿐, 수신하는 서버 응답의 내용과는 아무런 관련이 없습니다.

이를 추가하여 json 형식의 데이터를 가져올 수 있습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿