차이점은 무엇입니까
request.ContentType = "application / json; charset = utf-8";
과
webRequest.ContentType = "application / x-www-form-urlencoded";
차이점은 무엇입니까
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
application/x-www-form-urlencoded
서버를 혼동하면 (필자의 경우 Poison을 사용하는 Ellixir) 혼동하여 객체의 부적절한 구문 분석이 발생합니다 (중간 배열을 변환했습니다) 목록 대신 객체를지도에 표시). application/json
이 경우 사용 이 올바른 선택이어야합니다.
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-
urlencoded
의 이름은 이전 URL 쿼리 매개 변수에서 온 그러나 쿼리 매개 변수는 곳 요청의 몸 대신 URL입니다.
전체 양식 데이터는 긴 쿼리 문자열로 전송됩니다. 쿼리 문자열에는 & 문자로 구분 된 이름-값 쌍이 포함 됩니다.
예 : field1 = value1 & field2 = value2
단순 이라고하는 간단한 요청 일 수 있습니다 . 프리 플라이트 검사를 트리거하지 마십시오.
간단한 요청에는 몇 가지 속성이 있어야합니다. 자세한 내용 은 여기 를 참조하십시오. 그중 하나는 간단한 요청에 대해 Content-Type 헤더에 허용되는 값이 세 개뿐이라는 것입니다
3. 대부분 평평한 매개 변수 트리의 경우 application / x-www-form-urlencoded가 시도되고 테스트됩니다.
request.ContentType = "application / json; charset = utf-8";
가장 인기있는 npm HTTP 라이브러리 중 하나 인 axios 및 superagent 는 기본적으로 JSON 본문과 함께 작동합니다.
{ "id": 1, "name": "Foo", "price": 123, "tags": [ "Bar", "Eek" ], "stock": { "warehouse": 300, "retail": 20 } }
이제 요청이 단순 요청이 아닌 경우 브라우저 는 원래 요청을 보내는 것이 안전한지 여부를 확인하기 위해 OPTIONS 메소드로 원래 요청 전에 HTTP 요청을 자동으로 보냅니다 . 괜찮 으면 실제 요청을 보내십시오. 자세한 내용 은 여기 를 참조하십시오.
x-www-form-urlencoded
투표와 같은 AJAX 요청에 stackoverflow 및 Twitter 사용 사이트 가JSON
있습니다. 답장은 입니다. 대칭 요청 / 응답 쌍, 즉 두 JSON을 갖는 것이 더 낫다고 생각합니다.