代码之家  ›  专栏  ›  技术社区  ›  hoffm

向外部API发送的AJAX请求应该使用什么HTTP动词?

  •  1
  • hoffm  · 技术社区  · 10 年前

    考虑以下场景:作为用户注册您的站点的一个后果,您需要向外部API(例如,电子邮件服务提供商)POST,以记录该用户注册的事实。

    此请求作为客户端向应用程序发出的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 回复  |  直到 10 年前
        1
  •  1
  •   hobbs    10 年前

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