存在问题,当 Uploadify 插件不发布超过1 个参数时。
尝试了以下 3 种变体。
有什么建议或经验吗?
第一种标准方式
解释:在“脚本”中传递的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 sent 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}'});}";
...