【问题标题】:AJAX requests via GET or POST?通过 GET 或 POST 的 AJAX 请求?
【发布时间】:2014-02-19 14:59:56
【问题描述】:

我正在执行一些 AJAX 请求,这些请求通过 POST 将新记录插入数据库,以遵循 REST 方法。

但是,有时我会在服务器上遇到一些错误(使用 Apache 和 Django 1.5.5),说无法读取发布数据。 SO上有几个关于这个的问题(例如IOError: request data read error)。所以,我想知道将 AJAX 调用从 POST 更改为 GET 是否是一种“优雅的解决方案”,请记住它们会插入新数据。

【问题讨论】:

  • 我认为首先你应该弄清楚为什么会失败。
  • @PauloBu 错误率很低。每运行 10.000 次,我们可能会遇到 1 或 2 个错误......在相关帖子中,他们说这可能是由于用户关闭或更改页面造成的。
  • 是否有理由怀疑 GET 请求会比 POST 请求更可靠?如果有,是什么?
  • @IanMcLaird 如果用户在等待响应时更改页面,GET 不会导致错误,POST 请求会这样做。
  • 我想接下来的事情是,如果用户在帖子处理过程中导航离开,你确定你真的要处理请求吗?对于这种罕见的事情,我想我倾向于让请求失败。

标签: ajax django post get


【解决方案1】:

如果您在数据库中添加新记录,post 方法会更好。关于错误,请检查参数名称。您始终可以通过在服务器端记录它们来检查与正在发送的数据的一致性。这样你就会知道 ajax 调用按预期工作。

【讨论】:

    猜你喜欢
    • 2013-02-28
    • 2014-05-12
    • 2018-09-26
    • 2011-03-16
    • 1970-01-01
    • 2017-06-29
    • 2012-09-04
    • 2013-10-16
    • 1970-01-01
    相关资源
    最近更新 更多