javascript - 何时适合使用 get 与 post 请求

标签 javascript jquery rest post get

背景

假设我有一些数据,如下所示,这些数据是根据用户填写表格的一些调查收集的:

{
  "brand": "Nike",
  "size": [
    "small",
    "medium"
  ]
}

现在假设我想将此数据传递给某个 api ,在我的例子中,我将创建 api 网关,将该请求转发给 aws lambda 函数。 lambda 函数请求将处理此请求并查看我的 rds 实例以获取所有中小型衬衫,并将数据作为响应返回给我。

我的问题:

当我对 api 进行 ajax 调用时,这是一个 get 请求还是一个 post 请求?

从技术上讲,我并不是真的要修改数据库,而是对数据库进行读取,例如 select * from nike where size = 'small' and size = 'medium'

我很困惑,因为我假设每当我们尝试“GET”/读取一些数据时,我们都会执行 GET 请求。然而我遇到了THIS堆栈溢出帖子。接受的答案表明,当我们像上面那样传递数据时,我们应该发出 POST 请求。

所以我的 ajax 调用可能看起来像这样:

var data =  {
      "brand": "Nike",
      "size": [
        "small",
        "medium"
      ]
    }


$.ajax({
  type: "POST",
  url: "apigatewayendpointblahblah",
  data: data,
  success: success,
  dataType: dataType
});

最佳答案

Rest 协议(protocol)对您应该使用的方法有严格的定义。 当您在不修改数据的情况下获取数据时,您应该使用 GET 请求。

请注意,GET 需要查询参数而不是正文参数,然后可以将其用作共享页面的链接。

引用https://restfulapi.net/http-methods/了解更多信息

关于javascript - 何时适合使用 get 与 post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60249594/

相关文章:

javascript - 如何在 JavaScript 中使用 'MMMM Do YYYY, h:mm:ss am/pm' 对日期进行排序

django - Tastypie "always_return_data"选项更改响应状态代码

rest - 无效但可选的凭据的状态代码

javascript - 使用与单击的div不匹配的javascript隐藏div并将正确的div推到页面上

javascript - 如何找到单击按钮时激活的脚本?

c# - Javascript 确认对话框 - 防止事件处理程序触发?

javascript - 将动态创建的对象传递给函数

jquery - 我希望 jQuery 验证器向表单元素的父级添加一个类

java - 如何通过 REST 在 Sakai 中获取作业的内容

javascript - 动态添加带有动画的 gif 图像