Javascriptでグローバル変数を宣言してデリゲート関数に入力することは可能ですか? デリゲート関数に指示する関数があります。問題は、デリゲート関数でグローバル変数を参照または設定できないことです。この例では、userName は常に null です。getUserInfo の呼び出しは機能し、アラートに適切に表示されますが、変数は入力されません。
var userName = null;
function getUserInfo()
{
clientContext = new SP.ClientContext.get_current()
oWeb = clientContext.get_web();
user = oWeb.get_currentUser();
clientContext.load(user);
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded()
{
var message = "User Information";
message += "\n User Name: " + user.get_title();
userName = user.get_title();
message += "\n Login Name: " + user.get_loginName();
}
function onQueryFailed(sender, args)
{
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}