How to send additional data to jQuery File Upload Plugin?

18,091

try turning your data into in object - with what they showed in their example

$('#add_image_upload').fileupload({
            dataType: 'json',
    sequentialUploads: true,
    formData : {name:'thedate',value:getDate}
});

Then to add more params

           //name of param  // value
formData : [{name:'thedate',value:getDate},{name:'thedate2',value:'seconddate'},etc..]

Example:

[ { name: 'a', value: 1 }, { name: 'b', value: 2 } ]

Changing thedate with whatever you want to name the param

Though it sounds like a simple object should work fine

           //name:value
formData : {thedate:getDate}
Share:
18,091

Related videos on Youtube

eric.itzhak
Author by

eric.itzhak

If any of my answers doesn't work, then I've found them on some fishy website.

Updated on October 03, 2022

Comments

  • eric.itzhak
    eric.itzhak over 1 year

    This would seem stupid but i can't seem to understand the documentation. I'm talking about This plugin for file upload.

    Now according to the documentation there's an option :

    formData

    Additional form data to be sent along with the file uploads can be set using this option, which accepts an array of objects with name and value properties, a function returning such an array, a FormData object (for XHR file uploads), or a simple object. The form of the first fileInput is given as parameter to the function.

    Note: Additional form data is ignored when the multipart option is set to false.

    Type: Array, Object, function or FormData Default: A function returning the form fields as serialized Array:

    function (form) {
        return form.serializeArray();
    }
    

    Example:

    [ { name: 'a', value: 1 }, { name: 'b', value: 2 } ]

    Which i fail to understand what i'm suppoused to do with that.

    This is how i initialize the plugin :

    $('#add_image_upload').fileupload({
                dataType: 'json',
        sequentialUploads: true,
        formData : getDate
    });
    

    And this is my attempt to the function :

     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;
    }
    
  • eric.itzhak
    eric.itzhak over 11 years
    the data is valid i have checked