2010-09-12 82 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

相關問題