当Uploadify插件不超过 1 参数时,会出现问题。
尝试以下3种变体。
有任何建议或经验吗?
第一 - 标准方式
在'script'中传递的 解释 : portletId 和 jsessionid 参数:
oScript.text = "var $j = jQuery.noConflict();";
oScript.text+= "$j(document).ready(function(){";
...
oScript.text+= "$j('#uploadify').uploadify({";
oScript.text+= "'script' : '<%= request.getContextPath()%>/uploadFile?portletId=${portletId}&jsessionid=${pageContext.session.id}',";
...
第二 - 使用'scriptData'
解释 : portletId 仍然存在, jsessionid 已移至'scriptData':
oScript.text = "var $j = jQuery.noConflict();";
oScript.text+= "$j(document).ready(function(){";
...
oScript.text+= "$j('#uploadify').uploadify({";
oScript.text+= "'script' : '<%= request.getContextPath()%>/uploadFile?portletId=${portletId}',";
oScript.text+= "'scriptData' : {'jsessionid':'${pageContext.session.id}'},";
...
第三 - 使用事件 onSelect 和 onOpen
(尝试了两者,在Problem sending additional post data to server with uploadify中描述)
解释 : portletId 仍然存在且 jsessionid 在事件上设置( onSelect 或的OnOpen ):
oScript.text = "var $j = jQuery.noConflict();";
oScript.text+= "$j(document).ready(function(){";
...
oScript.text+= "$j('#uploadify').uploadify({";
oScript.text+= "'script' : '<%= request.getContextPath()%>/uploadFile?portletId=${portletId}',";
oScript.text+= "'onOpen' : function(){";
oScript.text+= "$j('#uploadify').uploadifySettings(";
oScript.text+= "'scriptData', {'jsessionid':'${pageContext.session.id}'});}";
...