从GET更改为POST

时间:2017-03-01 08:46:45

标签: php html angularjs

我不是一名经验丰富的开发人员,但我目前正在学徒,我的高级开发人员最近离开了,并且我独自一人!

我从他那里得知,使用'GET'请求比'POST'更好但是在阅读之后我想切换到'POST'我唯一的问题是我有点不确定如何修改我的代码切换来自'GET'。我在下面留下了我们系统的共同范围。任何帮助都会很棒

$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")
})
}

1 个答案:

答案 0 :(得分: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")
    })
};