2014-09-25 57 views
0

我使用blueimp文件上传的功能来发送额外的参数回到那个设置里面add服务器:发送额外的参数与blueimp文件上传

var simpleImport = false, replaceImport = false, mergeImport = false; 
$uploadButton.fileupload({ 
      url: myURL, 
      formData: { simple : simpleImport, replace : replaceImport, merge : mergeImport }, 
      add: function (e, data) { 
       var valid = true; 
       // validation logic 
       if (valid) { 
        if (condition №1) simpleImport = true; 
        else if (condition №2) replaceImport = true; 
        else if (condition №3) mergeImport = true; 
        data.submit(); 
       } 
      }, 
      done: function (e, data) { 
       if (data.result) { 
        oTable.ajax.reload(); 
       } 
      }, 
      fail: function (e, data) { 
       alert("shit happens"); 
      } 
     }); 

在我在一个这样的方式阅读它们的服务器:

var merge = Convert.ToBoolean(Context.HttpContext.Request.Form["merge"]); 
var simple = Convert.ToBoolean(Context.HttpContext.Request.Form["simple"]); 
var replace = Convert.ToBoolean(Context.HttpContext.Request.Form["replace"]); 

但是,尽管改变内部add它的价值我还有所有的人都在我的处理程序等于false。除了使用隐藏的输入或者我正在做一些完全错误的事情吗?

回答

3

好的。我终于解决了这个问题:不是在设置中添加额外的参数对象:

add: function (e, data) { 
    ..... 
    data.formData = { additional params }; 
    data.submit(); 
}, 
+0

试图找到这样的事情,因为最后:

$uploadButton.fileupload({ url: myUrl, formData: { additional params }, .... }); 

他们应该在add方法提交数据之前直接specidied 2小时。超级有用。队友的欢呼声! – harsha217 2015-11-24 01:44:11

相关问题