The type of data being requested or rather say that the type of data endpoint provides i.e. JSON was not mentioned in the call.
So changing the post call to
$.post('/api/callfor/data', {}, function (resp) {
var html = (resp.success) ? 'Your data is ' + resp.data : 'No data received';
}, 'json');
This returns the data.