Edit in JSFiddle

// Visualize: Refresh  (5.6)

// This Fiddle uses a non-standard demo Report Unit:
//    /public/viz/usersReport

visualize({
    auth: {
        name: "jasperadmin",
        password: "jasperadmin",
        organization: "organization_1"
    }
}, function (v) {
    
    var alwasyRefresh = false;    

    var report = v.report({
        //skip repport runnig during initialization
        runImmediately: !alwasyRefresh,
        resource: "/public/viz/usersReport",
        container: "#container1",
     });
    
    if (alwasyRefresh){
        report.refresh();
    }
    
    $("button").click(function(){   
        report
            .refresh()
            .done(function(){console.log("Report Refreshed!");})
            .fail(function(){alert("Report Refresh Failed!");});
    });
   
});
<!-- Visualize: Refresh  (5.6)
  -->

<script type='text/javascript' src="http://code.jquery.com/jquery-2.1.0.js"></script>
<script type='text/javascript' src="http://localhost:8080/jasperserver-pro/client/visualize.js"></script>
<!--Provide container to render your visualization-->
<button>Refresh</button>
<div id="container1"></div>