【发布时间】:2015-04-21 10:32:32
【问题描述】:
我必须使用jqgrid 编辑url 发送一个真实性令牌。问题是url 和参数有不同的值。
开始 POST
"/users-jqedit/?authenticity_token=hSn3r02sT3w15HY+dNjpYvUuXxWclpXz
RKJnfMBJSkQ="
但参数是
Parameters:{"authenticity_token"=>
"hSn3r02sT3w15HY dNjpYvUuXxWclpXzRKJnfMBJSkQ="}
导致无法验证 CSRF 令牌真实性错误。
有什么线索吗?这是代码
$(function () {
$("#list").jqGrid({
url:'/users-jq',
editurl:"/users-jqedit/?authenticity_token=<%=form_authenticity_token.to_s%>",
【问题讨论】:
-
抱歉,您要发送哪些参数?您写了哪里出了问题,但没有明确描述哪些信息以及您的服务器端在哪里。您是否可能需要将
authenticity_token放在 POST 请求的 body 中而不是 URL 参数中?或者您需要将authentity_token 放在HTTP 标头中?你的服务器有什么期望? -
我想发送一个authenticity_token。其中有一个 + 符号并且真实性失败,因为 + 被空格替换。由于参数中的authentity_token 无效,我的服务器端代码甚至没有被触及。我在 rails-4 顺便说一句。 @奥列格。我已经用 gsub('+','%2B') 解决了这个问题,虽然担心其他角色会发生这种情况
-
为什么不对字符串进行 url 编码?似乎这是 perl ... 所以 URI:Escape (uri_escape)
-
@Asieh 编辑时,请注意内联代码跨越 (
like this) shouldn't be used for highlighting,仅适用于句子中的代码。另外,请在编辑时尽量改进帖子,以节省审稿人的时间。谢谢!