-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