-1
function getvalue(value) {
document.getElementById('<%= hdnPack.ClientID %>').value = "0";
var stdPack = 0;
alert("a");
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "test.aspx/GetStdSellingPack",
data: "{'Col1':'" + value+ "'}",
dataType: "json",
success: function (data) {
alert("b");
if (data != null) {
$(data).each(function() {
var values = data.d;
stdPack = values;
});
}
},
error: function (result) {
alert("Error");
}
});
alert("c");
return stdPack;
}
我试图执行此功能总是返回零,实际上发生警报(a)被触发,然后警报(C)被触发,突然它转到警报(b)。结果我想得到为了,Alert(a)先执行然后Alert(b)然后alert(c).Pl给我一个解决方案。提前感谢总是返回零值
考虑返回承诺,然后解析ajax成功中的承诺。您的ajax调用是异步的,因此您的函数将在成功回调中的变量之前返回 – Quince 2015-03-19 12:20:27