我在这里有一个奇怪的问题(可能是愚蠢的问题)。
在下面的代码中,我声明了变量retVal并为其分配了 null。在成功执行代码后,我用返回值(msg.d)重新分配了它。
它成功显示了alert(retVal + "divyansh") 处的值;但是当我在alert(retVal + " divyansh again") 尝试相同的时候;我得到了空。
我知道我可以通过将“return retVal”放入成功中来获得值,但我想知道为什么会发生这种情况以及是否有办法在底部返回值。
function getGrpParent() {
var retVal = null;
var hidType = $('[Id$=hidType]').val();
var hidGpId = $('[Id$=hidSelectedId]').val();
if (hidType == 'gp') {
var url = "../User/UserHierar.aspx/GetParentGroup";
var option = {
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: url,
data: JSON.stringify({ GroupId: hidGpId }),
success: function (msg) {
if (msg.d != "") {
retVal = msg.d;
alert(retVal + " divyansh");
}
},
error: function (err) {
alert('error');
}
};
$.ajax(option);
}
alert(retVal + " divyansh again");
return retVal;
}