【发布时间】:2017-11-15 09:54:18
【问题描述】:
我需要从客户端发送发布请求(现在我正在通过邮递员检查)。我不知道如何接受以 JSON 格式提供的数据并将其存储到表中?当我发送请求时, 显示
ActionController::InvalidAuthenticityToken in TopicsController#create
【问题讨论】:
标签: ruby-on-rails
我需要从客户端发送发布请求(现在我正在通过邮递员检查)。我不知道如何接受以 JSON 格式提供的数据并将其存储到表中?当我发送请求时, 显示
ActionController::InvalidAuthenticityToken in TopicsController#create
【问题讨论】:
标签: ruby-on-rails
在我看来,您的控制器需要一个身份验证令牌。
您可以使用以下方法跳过某些操作:
skip_before_action :verify_authenticity_token, only: [:action_name_goes_here]
这是为了防止跨站请求伪造,所以要小心。官方文档在这里:http://guides.rubyonrails.org/security.html#csrf-countermeasures。
这是重要的部分:
默认情况下,Rails 包含一个不显眼的脚本适配器,它 添加一个名为 X-CSRF-Token 的标头,并在每个标头上添加安全令牌 非 GET Ajax 调用。没有此标头,非 GET Ajax 请求将不会 被 Rails 接受。当使用另一个库进行 Ajax 调用时,它 需要将安全令牌添加为 Ajax 的默认标头 在你的图书馆调用。要获取令牌,请查看 在您的应用程序视图中。
【讨论】: