angular의post 요청 처리 예시 상세 설명

앞말
프로젝트 angular에서 jQuery 요청을 사용하여angular 자체 요청으로 바꾸려고 했는데 백그라운드에서 ⑹를 얻을 수 없기 때문에 조회 자료를 분석하고 정리합니다.
단계는 다음과 같습니다.
우선, angular와 jQuery의 요청은 다르다.다음과 같습니다.
  • jQuery:
  • 요청 contentType:
    
    application/x-www-form-urlencoded; charset=UTF-8
    이 형식의 데이터는'&'로 구분된 키-값으로 인코딩되었고'='로 구분된 키와 값으로 인코딩되었습니다.알파벳이나 숫자가 아닌 문자는 백분율로 인코딩됩니다. 이것이 바로 이런 유형이 바이너리 데이터를 지원하지 않는 이유입니다. (multipart/form-data로 대체해야 합니다.)
    데이터 매개변수는 다음과 같이 처리됩니다.
    
    // json 
    { a : 3, b : 2 }
    //  json 
    "a=3&b=2"
  • Angular:
  • 요청 contentType:
    
    application/json
    데이터 매개 변수:
    
    // json 
    {a: 3,c: 2}
    종합적으로 보면angular 제출 백그라운드는 json이지 폼 데이터가 아니다.우리는 json 대상을 매개 변수 연결로 전환해야 한다. 백그라운드를 제출할 때 폼 데이터가 된다.
    
    /**
      *  application/json application/x-www-form-urlencoded
      * @param data
      */
     handlerPostParams(data) {
      const params = [];
      for (const key in data) {
       if (data[key] && !isNull(data[key])) {
        if (data[key] instanceof Array) {
         for (let i = 0; i < data[key].length; i++) {
          if (data[key][i] && !isNull(data[key][i])) {
           const value = data[key][i];
           const name = key + '[' + i + ']';
           const innerObj = {};
           innerObj[name] = value;
           params.push(this.handlerPostParams(innerObj));
          }
         }
        } else if (data[key] instanceof Object) {
         for (const k in data[key]) {
          if (data[key][k] && !isNull(data[key][k])) {
           const value = data[key][k];
           const name = key + '[' + k + ']';
           const innerObj = {};
           innerObj[name] = value;
           params.push(this.handlerPostParams(innerObj));
          }
         }
        } else {
         const param = encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
         params.push(param);
        }
       }
      }
      return params.join('&');
     }
    총결산
    이것은angular에서post 요청 처리에 관한 글입니다. 더 많은 angularpost 요청 처리 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기