背景
假设我有一些数据,如下所示,这些数据是根据用户填写表格的一些调查收集的:
{
"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 需要查询参数而不是正文参数,然后可以将其用作共享页面的链接。
关于javascript - 何时适合使用 get 与 post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60249594/