什么HTTP谓词应该用于POST到外部API的AJAX请求?

时间:2014-07-22 20:49:44

标签: ajax http semantics

请考虑以下情形:作为用户注册您网站的后续效果,您希望POST到外部API(例如,电子邮件服务提供商),记录该用户注册的事实。

此请求作为从客户端到您的应用程序的AJAX请求异步执行。该请求反过来向外部API发出POST请求。 AJAX请求没有进一步的效果,特别是它不会改变应用程序数据库的状态。

我的问题是:AJAX请求的正确HTTP动词是什么?为什么?我咨询了HTTP spec,但无法从中提取答案。

这是一些伪Rails代码,表示具有上述属性的控制器操作:

class UsersController < ApplicationController

  def ajax_esp_signup
    email = User.find(params[:id]).email
    response = EspApi.post_signup(email) # Send POST request to external API.
    success = response['error'].nil?

    render :json => {
      :success => success
    }
  end

end

1 个答案:

答案 0 :(得分:1)

POST。这里重要的是请求有副作用,而不是它是否对您的数据库有影响。由于外部API请求是POST,我们假设它是非幂等的,因此您也应该使用非幂等POST方法。

相关问题