2010-09-12 93 views
2

来自rails的POST请求的InvalidAuthenticityToken 您好所有 我有一个运行的rails服务器,我向其发出POST请求。来自openlaszlo应用程序的rails的POST请求的InvalidAuthenticityToken

的数据集,以使POST请求我需要设置附加“authenticity_token”的查询字符串定义为每轨文档

现在。因此,如果例如authenticity_token是“xxxxxxx”,最终的url应该看起来像http://mywebsite.com/doSomething?aut..._token=xxxxxxx

我从服务器上获得真实性令牌。

我有一个用户定义的画布属性叫做auth_token,我用它来存储真实性标记。

下面是我用来提出请求的openlaszlo代码。

var d = canvas.datasets.ds; var content = get_my_content(); d.setQueryParam('lzpostbody',content); d.setQueryString({authenticity_token:encodeURIcomponent(canvas.auth_token)}); d.doRequest

在这段代码中,setQueryString调用似乎清除了查询参数。如果我改变setQueryString和setQueryParam调用的顺序,会发生相反的情况。

问题是。有没有办法设置查询字符串而不更改/删除查询参数。

非常感谢 普尼特

+0

为什么不在官方OpenLaszlo论坛上提问,网址是http://forum.openlaszlo.org/?你可能会在那里得到更快更准确的回应。 – 2011-09-27 17:58:25

回答

1

我不知道OpenLaszlo的东西,但我的猜测是,setQueryParam添加或修改一个PARAM,而setQueryString覆盖整个查询字符串对象的内容。

难道你不想仅仅添加真实性标记吗?

d.setQueryParam('lzpostbody', content); 
d.setQueryParam('authenticity_token', encodeURIcomponent(canvas.auth_token)); 
+1

我不认为我真的可以那样做,因为。 'lzpostbody'是用于生成原始POST请求的特殊类型的请求参数。根据Openlaszlo参考指南“对具有多个请求参数的请求使用”lzpostbody“未定义”因此,在您的示例中,您试图使用2个参数,包括lzpostbody,这是未定义的。感谢您的帮助 – 2010-09-12 02:26:31

+1

@Puneet Paul - 因此您必须提供两个参数供应用程序接受它,但您只能提供一个参数吗?这听起来像应用程序有一个有缺陷的设计。 – Matchu 2010-09-12 02:30:26

相关问题