我正在使用带有Rails的Uploadify 3.该表单适用于除IE之外的所有浏览器。
我正确设置了我的csrf变量,这样会话就不会被彻底吹走。
<% key = Rails.application.config.session_options[:key] %>
var uploadify_script_data = {};
var csrf_param = $('meta[name=csrf-param]').attr('content');
var csrf_token = $('meta[name=csrf-token]').attr('content');
uploadify_script_data[csrf_param] = encodeURI(encodeURIComponent(csrf_token));
uploadify_script_data['<%= key %>'] = encodeURI(encodeURIComponent('<%= cookies[key] %>'));
$('#uploadify').uploadify({
...
scriptData : uploadify_script_data,
...
});
当我使用3步表格时,问题出现了。在第二步中,我将所需的参数保存到会话变量中。在所有步骤中,我将params与会话变量合并以使其保持最新。
在第二步看起来会话就好了(我将它打印到日志中并且所有信息都在那里),但这也是我使用uploadify的步骤。在处理ajax调用的控制器中,我打印出会话,我可以看到会话ID和设计信息,但我正在使用的object_params完全重置为空哈希。
这是来自处理上传者的控制器:
{"session_id"=>"fa12222657a979c92daf1a04dcec7fa8", "_csrf_token"=>"YCN8BvE8+6Vxc2PWgpOvZBhYufKdsTfEnJVkbTSdWHI=", "warden.user.user.key"=>["User", [20], "$2a$10$JCkVLxybPQYclyp2t1gnpu"], "object_params"=>{}}
同样,这只发生在IE8和IE9中。
关于如何调试这个的任何想法?
答案 0 :(得分:0)
我不得不把它写成IE问题。使用IE的标准Uploadify表单和其他所有内容的自定义图像结束。