Я новичок в 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.
Мне кажется, это проблема области видимости переменной, но я не понимаю, как ...
Изменить: Я разместил это ниже, но не знаю, как его удалить ... Теперь я понимаю, что публикация выполняется асинхронно. Это имеет смысл. Что не имеет смысла, так это то, что предупреждения появляются в том порядке, в котором вы их видите. Я ожидаю, что последнее предупреждение (пустое) появится первым. Это не. Он появляется последним.
Я ожидал, что оповещения внутри функции публикации будут появляться последними. Кто-нибудь может это объяснить?