>  기사  >  웹 프론트엔드  >  Jquery AJAX POST와 GET 간의 사용법 차이점에 대한 간략한 분석

Jquery AJAX POST와 GET 간의 사용법 차이점에 대한 간략한 분석

巴扎黑
巴扎黑원래의
2017-07-03 10:33:291145검색

이 문서는 Jquery에서 AJAX POST와 GET의 차이점에 대해 설명합니다. 자세한 요약이 소개되어 있으니 꼭 참고하시기 바랍니다. 모두에게 도움이 되었으면 좋겠습니다. 1: GET 액세스 브라우저는 동일한 URL에 대해 하나의 결과만 있다는 의미입니다. 동일은 전체 URL을 참조

문자열

완전 일치]그래서 두 번째 방문 시 URL 문자열이 변경되지 않으면 브라우저에서 첫 번째 방문의 결과를 직접 가져옵니다
POST는 변경된 방문으로 간주됩니다. (POST 제출 방식이 변경된 것 같아요)
GET의 멱등적 접근을 방지하려면 URL 뒤에 추가하면 되나요? +new Date();, [즉, 방문할 때마다 URL 문자열이 달라집니다.]웹 페이지를 디자인할 때도 이 원칙을 따라야 합니다.

2: 1. Ajax Get과 Post의 차이점에 대해 이야기해 보세요.

Get 메소드: get 메소드를 사용하면 간단한 데이터 전송도 가능하지만 일반적으로 크기가 1KB로 제한됩니다. 데이터는 URL에 추가되어 전송됩니다(HTTP 헤더 전송). 브라우저는 각 양식 필드 요소를 보내고 해당 데이터는 URL 매개변수 형식으로 요청 라인의 리소스 경로에 추가됩니다. 가장 중요한 것은 클라이언트의 브라우저에 캐시되어 다른 사람들이 브라우저 기록에서 계좌 번호, 비밀번호 등과 같은 고객의 데이터를 읽을 수 있다는 것입니다. 따라서 어떤 경우에는 get 메서드가 심각한 보안 문제를 일으킬 수 있습니다.

Post 메서드:

POST 메서드를 사용할 때 브라우저는 각 양식 필드 요소와 해당 데이터를 URL 주소의 매개 변수로 전달하는 대신 HTTP 메시지의 엔터티 콘텐츠로 웹 서버에 보냅니다. POST 방식을 사용하여 전달한 데이터의 양은 GET을 사용하여 전송한 것보다 훨씬 큽니다.
간단히 말하면 GET 방식은 적은 양의 데이터를 전송하고 처리 효율성이 높으며 보안이 낮고 캐시되지만 POST의 경우 그 반대입니다.

get 메소드 사용 시 주의할 사항:
1 get 요청(또는 관련 URL 전달 매개변수)의 경우 전달된 매개변수는 먼저 encodeURIComponent 메소드로 처리되어야 합니다. 예: var url = "update.php?username = " +encodeURIComponent(username) + "&content=" +encodeURIComponent

(content)+"&id=1" ;


Post 메소드 사용 시 주의사항:

1. Context-Type을 다음과 같이 설정하세요. application/ x-www-form-urlencode에 대한 헤더는 서버가 엔터티에 매개변수 변수가 있음을 확인합니다. 일반적으로 SetRequestHeader("Context-Type", "application/x-www-form-urlencoded;")를 사용합니다. XmlHttpRequest

개체
. 예: xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
2 매개변수는 일대일 이름/값 대응을 갖는 키-값 쌍이며 각 매개변수는 값 쌍은 앰퍼샌드로 구분됩니다. 예를 들어 var name=abc&sex=man&age=18, var name=update.php?
abc&sex=man&age=18 및 var name=? abc&sex=man&age=18; 3. 매개변수는 Send Send에 있습니다. 예: xmlHttp.send(name); get 메소드인 경우 xmlHttp.send(null); . 서버 측 요청 매개변수

는 Get과 Post를 구별합니다. get 메소드인 경우 $username = $_GET["username"]; post 메소드인 경우 $username = $_POST["username"]; 이유:


1. xtmlhttp에서 반환된 값은 utf-8입니다. 클라이언트 페이지가 gb2312 또는 기타 인코딩된 데이터인 경우 잘못된 문자가 생성됩니다. 2. 서버가 gb2312 또는 다른 경우에 제출된 데이터의 기본 문자 인코딩은 utf-8입니다. 다른 인코딩된 데이터는 잘못된 문자가 생성됩니다.


1. 클라이언트가 gb2312로 인코딩된 경우 서버에서 출력 스트림 인코딩을 지정합니다. 2. 서버와 클라이언트 모두 utf를 사용합니다.

gb2312:header('Content-Type:text/html;charset=GB2312');

utf8:header('Content-Type:text/html;charset=utf-8');

참고: 위 방법을 따른 후에도 여전히 잘못된 문자가 반환되는 경우, 해당 방법이 get인지 확인하세요. get 요청(또는 URL 전달 매개변수와 관련된 모든 것)의 경우 encodeURIComponent가 사용되지 않는 경우 전달되는 매개변수가 먼저 encodeURIComponent 메서드 처리를 거쳐야 합니다. , 왜곡된 문자도 생성됩니다.

위 내용은 Jquery AJAX POST와 GET 간의 사용법 차이점에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.