这看起来很愚蠢,但我似乎无法理解文档。 我正在谈论文件上传的This插件。
现在根据文档,有一个选项:
FORMDATA
可以使用此设置要与文件上传一起发送的其他表单数据 option,接受具有名称和值属性的对象数组,函数 返回这样的数组,FormData对象(用于XHR文件上传)或简单对象。 第一个fileInput的形式作为函数的参数给出。
注意:当multipart选项设置为false时,将忽略其他表单数据。
类型:数组,对象,函数或FormData默认值:一个函数 将表单字段作为序列化数组返回:
function (form) { return form.serializeArray(); }
示例:
[ { 名称:' a', 价值:1 }, { 名称:' b', 价值:2 }]
我无法理解我所做的事情。
这是我初始化插件的方式:
$('#add_image_upload').fileupload({
dataType: 'json',
sequentialUploads: true,
formData : getDate
});
这是我对该功能的尝试:
function getDate(){
//if user didn't selected a date
if(!selectedDate || selectedDate=="undefined"){
selectedDate = "1/1/"+$('#timeline').html();
}
var date= new Array(selectedDate);
return date;
}
答案 0 :(得分:7)
尝试将数据转换为对象 - 使用他们在示例中显示的内容
$('#add_image_upload').fileupload({
dataType: 'json',
sequentialUploads: true,
formData : {name:'thedate',value:getDate}
});
然后添加更多参数
//name of param // value
formData : [{name:'thedate',value:getDate},{name:'thedate2',value:'seconddate'},etc..]
示例:
[{name:'a',value:1},{name:'b',value:2}]
使用您想要命名的参数
更改thedate
虽然听起来像一个简单的对象应该可以正常工作
//name:value
formData : {thedate:getDate}
答案 1 :(得分:0)
您的表单上是否设置了multipart
false
?另外,请确保您发回的内容的格式是可以接受的。
尝试对以下行进行硬编码并发回信息:
new dateobject = { "date": "1/1/2012" }