我有一個uploadify組件,它將文件發送回rails應用程序。我在某個時候注意到的問題是,對於一些特殊值,傳遞的數據會被flash對象改變。從swfupload/uploadify傳遞參數到Rails應用程序 - 破?
在客戶端我有
$(document).ready(function() {
$('#photo_image').uploadify({
...
'scriptData': {
authenticity_token = 'M++Q3HNclKS7QBEM71lkF/8IkjTwr2JdtqJ4WNXVDro='
...
}
});
});
什麼Rails的越來越:
"authenticity_token"=>"M Q3HNclKS7QBEM71lkF/8IkjTwr2JdtqJ4WNXVDro="
當有令牌一切沒有 '+' 號的工作就好了。它看起來像閃光燈以某種方式改變了字符串。任何想法如何逃避它?我試過CGI.escape,但結果是完全一樣的,「+」被剝奪......
據我所知,JS encodeURIComponent相當於CGI.escape或Rails的「u」助手。無論如何,這並不能解決問題。問題是,在將參數傳遞給閃存組件之前,uploadify會在路上執行大量編碼/編碼。實際的解決方案是,爲了逃避令牌*兩次*。因此,例如「encodeURIComponent(encodeURIComponent(token)))」或#{u u token}。 – mdrozdziel 2010-08-10 06:08:39