>웹 프론트엔드 >JS 튜토리얼 >AngularJS_AngularJS에서 $http.post와 jQuery.post의 차이점 비교 분석

AngularJS_AngularJS에서 $http.post와 jQuery.post의 차이점 비교 분석

WBOY
WBOY원래의
2016-05-16 16:12:461426검색

게시물 데이터를 제출하기 위해 ajax를 사용해야 하는 경우가 많습니다. Angularjs는 jq와 유사하며 게시물도 캡슐화되어 있습니다.

그러나 jQuery의 게시물은 확실히Angularjs의 게시물보다 더 간단하고 사용자 친화적입니다.

AngularJS:

코드 복사 코드는 다음과 같습니다.

$http.post('do-submit.php',myData)
.success(함수(){
// 일부 코드
});

jQuery:

코드 복사 코드는 다음과 같습니다.

$.post('do-submit.php', myData, function() {
// 일부 코드
});

별거 없는 것 같죠? 그러나angularjs의 $http를 사용하여 제출된 데이터는 PHP 서버의 $_REQUEST/$_POST를 통해 얻을 수 없습니다. 대신 다음을 사용해야 합니다.

코드 복사 코드는 다음과 같습니다.

$params = json_decode(file_get_contents('php://input'),true);

얻으러 갑니다. 이유는 무엇입니까?

두 게시물이 헤더를 다르게 처리하기 때문입니다... jQuery는 myData를 JSON 개체로 직렬화합니다. 예를 들면 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

var myData = { a : 1, b : 2 };
// jQuery는 데이터를 게시하기 전에 myData를 문자열로 변환합니다: "a=1&b=2"

Angular는 그렇지 않습니다.

해결책은 무엇인가요?

1. 대상 사용자가 추가로 수십 K개의 스크립트를 로드하는 것을 꺼리지 않는다면 jquery를 도입하세요. (권장하지 않음)

2. $params = json_decode(file_get_contents('php://input'),true);를 통해 서버측(PHP)에서 매개변수를 가져옵니다. 소규모 프로젝트에서는 이를 수행할 수 있지만 대규모 프로젝트에서는 하나씩 변경해야 합니다. 하나. (권장하지 않음)

3. Angular $httpProvider의 기본 처리 수정: http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/ (향후 관리를 원활하게 하기 위해서는 이것이 최선의 방법입니다)

AngularJS에서 $http.post와 jQuery.post의 차이점을 더 잘 이해하고 계시나요? 이 글을 읽으면서 뭔가를 얻으셨기를 바랍니다.

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