Как получить данные из функции JQuery.post

Я новичок в JS, но не могу поверить, что не смог это понять ...

myerr определяется глобально. Я установил myerr = на возвращаемое значение из сообщения. Как только я выхожу за пределы функции, она теряет свое значение.

myerr="";
$.post("/rpc/validate_song_entry", {'title':$('#title').val()}, function(data){
  alert(data.title); //----> Alerts expected result.
  myerr=data.title;
  alert(myerr); //-----> Alerts expected result.
}, "json");
alert(myerr); //-------> Nothing. Blank dialog.

Мне кажется, это проблема области видимости переменной, но я не понимаю, как ...

Изменить: Я разместил это ниже, но не знаю, как его удалить ... Теперь я понимаю, что публикация выполняется асинхронно. Это имеет смысл. Что не имеет смысла, так это то, что предупреждения появляются в том порядке, в котором вы их видите. Я ожидаю, что последнее предупреждение (пустое) появится первым. Это не. Он появляется последним.

Я ожидал, что оповещения внутри функции публикации будут появляться последними. Кто-нибудь может это объяснить?

0
задан user877985 4 August 2011 в 20:48
поделиться