function getUserHours(tyPe, tarGet){
$.get(\'/activities/search\', { \'type\': tyPe },
function(data){
var hourResultData = jQuery.parseJSON(data);
Returning data directly will only work if you turn the asynchronous GET for AJAX off:
$.ajax({
type: 'GET',
url: '/activities/search',
data: { 'type': tyPe },
async : false,
success : function() { }
});
This is not recommended, because the browser will block until you request is finished. Instead you should continue to follow the asynchronous programming model by using function callback:
$.ajax({
type: 'GET',
url: '/activities/search',
data: { 'type': tyPe },
async : false,
success : function() { }
});
function getUserHours(tyPe, tarGet, callback)
{
$.get('/activities/search', { 'type': tyPe },
function(data)
{
var hourResultData = jQuery.parseJSON(data);
var registeredHours = 0;
for (var i in hourResultData.activities){
registeredHours += parseFloat(hourResultData.activities[i].hours);
}
$(tarGet).empty().append(registeredHours);
if($.isFunction(callback))
callback(registeredHours);
});
}
getUserHours('r', '#reg-hours', function(hours) {
alert(hours);
});