2017-03-01 2 views
1

저는 숙련 된 개발자가 아니지만 현재 견습 과정에 있으며 선임 개발자는 최근에 혼자 남겨졌습니다.GET에서 POST로 변경

'GET'요청을 사용하는 것이 'POST'보다 낫지 만 읽은 후에 'POST'로 전환하고 싶습니다. 내 유일한 문제는 전환 코드를 수정하는 방법이 조금 불확실하다는 것입니다. 이상에서 '얻으십시오'. 나는 우리 시스템의 공통된 $ 범위를 아래에두고왔다. 도움이 될 것입니다.

$scope.changenote=function(id,note){ 
note = encodeURIComponent(note); 
var inserthistory = './dbscripts/solicitors/changenote.php?id=' + id + '&user=' + AppStorage.getCurrentUser().username + '&note=' + note; 
console.log(inserthistory); 
        $http({method: 'GET', url: inserthistory}).success(function(data) { 

     var historyurl = './dbscripts/solicitors/gethistory.php?ref=' + $scope.bbref; 

      $http({ 
       method: 'GET', 
       url: historyurl 
      }).success(function(data) { 
       $scope.histnoteaddbtn = []; 
       $scope.history = data; 
      $state.go($state.current, {}, { 
        reload: true 

      }); 
    }); 
swal("Saved!", "Your note has been saved!", "success") 
}) 
} 
+0

글쎄 그것은 어떤 시스템을 사용하고 있는지에 달려 있습니다! CMS 란 뜻인가요? 그리고 항상 GET을 POST로 변경할 수있는 것은 아닙니다. 때로는 일부 기능에서 각각을 사용해야합니다! 보안에 관해서는 기본적으로 POST와 GET간에 차이점이 없습니다! 두 경우 모두 준비된 쿼리 문을 사용하고 쿼리 내에서 데이터를 사용하기 전에 데이터를 확인해야합니다. – Soheyl

+0

@GeomanYabes 외쳤다 고요? 어디에? –

+1

** Soheyl ** 님의 댓글 .. : 항상 D!와 함께 –

답변

2

첫 번째 경우이 코드를 리팩터링했습니다. 나는이 모든 문자열이 변수에 저장되는 이유를 모르지만 코드에서는 다시 사용하지 않습니다. 나는 진짜로 그것의 사용을 모른다. 귀하의 요청을 변경했습니다. 방법은 GET에서 POST으로 변경되었습니다. API 끝점을 확인하고 POST 요청을 수신 대기해야 할 수 있습니다. 마지막 코드는 다음과 같습니다.

참고 : 요청 데이터는 요청한 URL로 계속 파싱됩니다. RESTful API를 만들려면 W3C HTTP Method Definition을 살펴보아야합니다. 모든 요청 방법은 특별한 유스 케이스에 초점을 맞추고 있습니다.

$scope.changenote = function(id,note){ 
    $http({method: 
     'POST', 
     url: './dbscripts/solicitors/changenote.php?id=' + id + '&user=' + AppStorage.getCurrentUser().username + '&note=' + encodeURIComponent(note)} 
     ).success(function(data) { 
      $http({ 
       method: 'POST', 
       url: './dbscripts/solicitors/gethistory.php?ref=' + $scope.bbref 
      }).success(function(data) { 
       $scope.histnoteaddbtn = []; 
       $scope.history = data; 
       $state.go($state.current, {}, { 
        reload: true 

       }); 
      }); 
      swal("Saved!", "Your note has been saved!", "success") 
    }) 
}; 
+0

고마워요. 얼마나 쉬운 지 확신 할 수 없었습니다. 정말 큰 문자열을 데이터베이스에 보내는 데 문제가 있습니다. 악몽! –

+0

@AlexBanerjee 당신을 진심으로 환영합니다. URL 대신 요청 본문으로 데이터를 파싱하려고합니다. URL에는 많은 제약이 있습니다. – lin

+0

나는 이것이 어떻게 행해지는지 조금 확신하지 못합니다. 나는 이것이 'POST'가 'GET'에서 전환하고 싶은 이유라고 생각했습니다. 나는 다음 주에 코스를 시작하므로 조금 더 배울 수 있기를 바랍니다. 각도, html 및 css에 모두 던져 버리는 것은 xD를 약간 넘게했습니다. –