我正在使用jquery插件的精细上传器.需要在上传文件之前动态传递params,因此,setParams()方法应该完成这项工作.我在onSubmit回调中没有例外:
1)上传者声明
function initUploader() {
var up = $('#BSUploader').fineUploader({
multiple: true,
debug: true,
request: {
endpoint: '${request.contextPath}/quantum/uploadToS3',
//params: {'folderId':r }
},
dragAndDrop: {
extraDropzones:[$('#filesContainer')],
Run Code Online (Sandbox Code Playgroud)
...
2)onSubmit回调
...
}).on('submit', function(event, id, name) {
var r = $("#curfolderid").val();
alert(r);
up.setParams({'folderId':r});
Run Code Online (Sandbox Code Playgroud)
3)错误日志
[FineUploader] Caught exception in 'onSubmit' callback - Object [object Object] has no method 'setParams' bundle-bundle_uploader_defer.js:4
qq.log bundle-bundle_uploader_defer.js:4
qq.FineUploaderBasic.log bundle-bundle_uploader_defer.js:26
b bundle-bundle_uploader_defer.js:47
a._options.callbacks.(anonymous function) bundle-bundle_uploader_defer.js:47
qq.FineUploaderBasic._upload bundle-bundle_uploader_defer.js:43
qq.FineUploaderBasic._uploadFileOrBlobDataList bundle-bundle_uploader_defer.js:43
qq.FineUploaderBasic.addFiles bundle-bundle_uploader_defer.js:29
qq.DragAndDrop.callbacks.dropProcessing bundle-bundle_uploader_defer.js:69
b bundle-bundle_uploader_defer.js:51
qq.UploadDropZone.onDrop bundle-bundle_uploader_defer.js:52
(anonymous function)
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
在 grails 服务中,我创建并管理一个用于从外部 API 调用方法的会话,使用 API 的会话工厂来启动连接:
1)Service Session对象(服务级别):
private final SessionFactory sessionFactory = SessionFactoryImpl.newInstance()
private Session session
Run Code Online (Sandbox Code Playgroud)
2)服务getSession方法调用
def getSession(Map conf) {
if (session == null) {
...
Object o = sessionFactory.getRepositories(params)
session = o.createSession()
}
session
}
Run Code Online (Sandbox Code Playgroud)
3) 从控制器调用的服务连接器
def connect() {
<some logic>
return session
}
Run Code Online (Sandbox Code Playgroud)
4)在控制器中,我使用以下命令检索会话对象:
def session = service.connect()
Run Code Online (Sandbox Code Playgroud)
一旦第一个连接创建了会话对象,在控制器之间(甚至在 grails 插件之外)共享它的最佳方式是什么?如何确保会话对象作为单例调用(即避免每个控制器的方法调用以重新初始化服务中的 sessionFactory 调用)?