I use jstree and want to reload it with new data but I cannot send it to new data.
var $driver = 0;
$(document).ready(function () {
    $('#tree_folder').jstree({
        'core': {
            'check_callback': true,
            "themes": {
                "responsive": false
            },
            'data': {
                type: "POST",
                url: "Doc.aspx/Folder",
                data: function () { return '{"driver":"' + $driver + '"}' },
                contentType: "application/json"
            }
        }
    });
});        
$(document).on('click', '.tile', function () {
    var $item = $(this);    
    var $driver = $item.attr('data-driver');    
    //  alert($driver);    
    $('#tree_folder').jstree('refresh');
});
I got the new value when clicked, it send old default data every time. Above in alert function, it can give me the right value although json post send default one even data is written with function 
function () { return '{"driver":"' + $driver + '"}' }
How can I get the new value from variable?
 
     
     
    