Это не может быть сделано так, как вы делаете, так как ajax-запросы асинхронны (то есть они не блокируются, и результат не будет получен мгновенно, он будет получен, когда сервер действительно ответит) Вам придется вызывать другую функцию с результатами (или иначе, делать что-то с результатами, только когда они действительно доступны).
Например:
function isNewUsername(str){
$.post('/api/isnewusername',
{username:str},
function(data) {
someOtherFunction(data.result);
},
"json");
}