차이점은 무엇입니까
request.ContentType = “application / json; charset = utf-8”;
과
webRequest.ContentType = “application / x-www-form-urlencoded”;
답변
첫 번째 경우는 웹 서버에 다음과 같이 JSON 데이터를 게시하고 있다는 것입니다.
{ Name : 'John Smith', Age: 23}
두 번째 옵션은 웹 서버에 다음과 같이 URL의 매개 변수를 인코딩 할 것임을 알리는 것입니다.
Name=John+Smith&Age=23
답변
webRequest.ContentType = “application / x-www-form-urlencoded”;
-
어디 않는 응용 프로그램 / x-www-form-urlencoded를 이름의에서 온?
HTTP GET 요청 을 보내면 다음과 같이 쿼리 매개 변수를 사용할 수 있습니다.
http://example.com/path/to/page
? name = ferret & color = purple필드의 내용은 쿼리 문자열로 인코딩됩니다.
application/x-www-form-
의 이름은 이전 URL 쿼리 매개 변수에서 온 그러나 쿼리 매개 변수는 곳 요청의 몸 대신 URL입니다.
urlencoded전체 양식 데이터는 긴 쿼리 문자열로 전송됩니다. 쿼리 문자열에는 & 문자로 구분 된 이름-값 쌍이 포함 됩니다.
예 : field1 = value1 & field2 = value2
-
단순 이라고하는 간단한 요청 일 수 있습니다 . 프리 플라이트 검사를 트리거하지 마십시오.
간단한 요청에는 몇 가지 속성이 있어야합니다. 자세한 내용 은 여기 를 참조하십시오. 그중 하나는 간단한 요청에 대해 Content-Type 헤더에 허용되는 값이 세 개뿐이라는 것입니다
- application / x-www-form-urlencoded
- 멀티 파트 / 폼 데이터
- 텍스트 / 일반
3. 대부분 평평한 매개 변수 트리의 경우 application / x-www-form-urlencoded가 시도되고 테스트됩니다.
request.ContentType = “application / json; charset = utf-8”;
- 데이터는 json 형식입니다.
가장 인기있는 npm HTTP 라이브러리 중 하나 인 axios 및 superagent 는 기본적으로 JSON 본문과 함께 작동합니다.
{ "id": 1, "name": "Foo", "price": 123, "tags": [ "Bar", "Eek" ], "stock": { "warehouse": 300, "retail": 20 } }
- “application / json” Content-Type은 프리 플라이트 요청 중 하나입니다 .
이제 요청이 단순 요청이 아닌 경우 브라우저 는 원래 요청을 보내는 것이 안전한지 여부를 확인하기 위해 OPTIONS 메소드로 원래 요청 전에 HTTP 요청을 자동으로 보냅니다 . 괜찮 으면 실제 요청을 보내십시오. 자세한 내용 은 여기 를 참조하십시오.
- application / json 은 초보자에게 친숙합니다. URL 인코딩 배열은 악몽이 될 수 있습니다!