【问题标题】:Difficulty in send parameters in jqgridjqgrid中发送参数的困难
【发布时间】: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,仅适用于句子中的代码。另外,请在编辑时尽量改进帖子,以节省审稿人的时间。谢谢!

标签: html jqgrid


【解决方案1】:

如果我正确理解您的问题,那么您需要使用

editurl: "/users-jqedit/?authenticity_token=" +
    encodeURIComponent("<%=form_authenticity_token.to_s%>"),

而不是

editurl:"/users-jqedit/?authenticity_token=<%=form_authenticity_token.to_s%>",

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    相关资源
    最近更新 更多