Angularjs $ http服务POST,PUT和GET

时间:2017-06-16 07:47:39

标签: javascript php mysql angularjs

我正在开发AngularJS中的应用程序。但我仍然不太清楚POST,PUT和GET的区别。当我从服务器获取数据时,我通常使用$ http GET,当服务器端不需要任何前端数据将数据返回到客户端时,如下所示。

$http.get(configSettings.baseUrl +"retrive_user.php").success(function (data) {

}).error(function() {
    console.log("error");
});

当我使用POST时,我服务器端需要前端数据,以便将数据返回到客户端,如下所示。

$http({
    url: configSettings.baseUrl + "insert_message.php",
    method: "POST",
    data: {
        'username': username,
        'messageContent' : messsageContent,
        'sender_id': usernameID,
        'subscribeChannel' : subscribeChannel,
        'attachmentType' : attachmentType,
        'event' : 'chat_message'
    }
    }).success(function(response) {
        console.log(response);
    }).error(function(response) {
        console.log(response);
    })
});

甚至,我想在我的MySQL数据库中删除数据或编辑数据我在上面的angularjs中使用POST方法,然后在我的PHP服务器端,我喜欢以下来获取数据。

$chat_info = file_get_contents("php://input");
$chat_request = json_decode($chat_info,true);
@$username = $chat_request['username'];
@$messageContent = $chat_request['messageContent'];
@$sender_id = $chat_request['sender_id'];
@$subscribeChannel = $chat_request['subscribeChannel'];
@$attachmentType = $chat_request['attachmentType'];
@$event = $chat_request['event'];

我不知道这是否是RESTful API中的正确做法。我理解POST和GET之间的区别。我的服务器端脚本,我只需要从客户端获取数据,以便从数据库创建,更新,读取和删除数据。 RESTful API中的PUT,DELETE和PATCH有什么特别之处?

1 个答案:

答案 0 :(得分:1)

HTTP谓词可能是关于HTTP协议最神秘的事情之一。

PUT 提供的新表示替换整体资源,或者您可以说如果用户想要添加新记录,他应该使用的 PUT

另一方面 PATCH =>正如名称所说,它是一种更新记录的补丁。如果用户只想更新部分记录,比如说只是一个电子邮件地址,他应该使用PATCH。

  

由于 PUT 方法可以更新所有记录,因此需要更多带宽或处理完整资源   部分。因此引入 PATCH 来减少带宽

例如: - 假设我正在向服务器发送新记录,即

{ "first": "Anand Deep", "last": "Singh" } 

所以我会使用 Put ,因为我正在添加新记录。但是这里有一个 Put 请求的问题,当我使用PUT时,我必须先发送所有两个参数,这些参数是第一个也是最后一个。所以必须再次发送所有值

修补程序仅发送用户想要更新的数据,但不会影响或更改其他数据。因此无需再次发送所有值。

因此 PUT 用于创建新记录, PATCH 用于更新现有记录。

DELETE 相同,它告诉服务器该请求应删除将其传递给服务器的记录。

有关详细信息,请点击下面的图片或original paper: -

URL