Проблема в том, что $ .ajax () - это асинхронная функция, то есть при вызове она возвращается в том же экземпляре, но вызов ajax выполняется в отдельном потоке.Таким образом, ваша возвращаемая переменная $ .ajax () всегда не определена.
Вы должны использовать функцию обратного вызова ajax, чтобы делать все, что вам нужно: в принципе, вы уже сделали это правильно, просто возвращение aString не возвращаетк вашей первоначальной функции вызывающего абонента.Поэтому вы можете вызвать функцию внутри функции обратного вызова (success ()) или реализовать логику непосредственно в функции success ().
Пример:
function load()
{
$(document).ready(function() {
var token = "AccessToken";
var url = "https://graph.facebook.com/me/home?access_token=" + token;
getNextFeed(url);
alert('Please wait, loading...');
});
function getNextFeed(aUrl)
{
$.ajax({
type: "POST",
url: aUrl,
dataType: "jsonp",
success: function(msg) {
alert(msg.paging.next); // return correctly
var aString = msg.paging.next;
alert(aString); // return correctly
do_something_with(aString);
}
});
}