これが私の問題です。ホームページが表示されたら、LoadUser 関数を呼び出します。これが成功するglobalUser
と、返された JSON で変数が設定されます。ロードした後、アラート関数を呼び出しますが、globalUser
未定義と表示されます。他の多くの回避策を試しましたが、常に未定義のメッセージが表示されます。
alert(globalUser);
成功関数でを呼び出すと、期待どおりに機能し、オブジェクトに警告します。
$('#Home').live('pageshow', function(event) {
$.when(LoadUser()).done(function(a1) {
alert(globalUser);
});
});
function LoadUser() {
$.ajax({
// connects with the web service and validate de user input
url: "http://localhost:51396/Icademy.asmx/GetUser",
contentType: "application/json; charset=utf-8",
data: { "userName": "'rodrigo'" },
dataType: "jsonp",
success: function(json) {
globalUser = JSON.parse(json.d);
return globalUser;
},
error: function(ret) {
alert("Um erro ocorreu, tente novamente mais tarde.");
}
});
}