【问题标题】:Angularjs $http Service POST, PUT and GETAngularjs $http 服务 POST、PUT 和 GET
【发布时间】:2017-06-16 07:47:38
【问题描述】:

我正在使用 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 有什么特别之处?

【问题讨论】:

标签: javascript php mysql angularjs


【解决方案1】:

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

PUTENTIRE RESOURCE 替换为 new representation provided 或者你可以说如果用户想要添加新记录,他应该使用PUT

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

由于 PUT 方法可以更新所有记录,因此它需要 更多带宽 或处理全部资源而不是 部分的。所以引入了PATCH来减少带宽

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

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

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

补丁只发送用户想要更新的数据,不会影响或改变其他数据。所以不需要再次发送所有值。

所以 PUT 用于创建新记录,PATCH 用于更新现有记录。

DELETE也是如此,它告诉服务器这个请求应该删除传递给服务器的记录。

更多详情请点击下图或URL:-

【讨论】:

  • 是的,我了解 HTTP 旨在实现客户端和服务器之间的通信。我了解 POST 和 GET 之间的区别。服务器端只需要从客户端获取数据,以便从数据库中创建、更新、读取和删除数据。我们可以通过 POST 和 GET onlu 来实现。 RESTful API 中的 PUT、DELETE 和 PATCH 有什么特别之处?
  • 我已经更新了我的答案。我希望它能消除你的疑虑。喜欢的话可以采纳我的回答:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 2013-10-03
  • 2013-08-26
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多