我有一个全局变量creditAmount
,当用户登录时通过ajax调用填充。我想稍后在登录后调用的另一个函数中使用该变量。如何保持creditAmount
的值可用于以后的功能?
这是定义和填充creditAmount
的地方:
var creditAmount = "";
function getCustomer() {
$(function() {
$("#anId").submit(function(event){
event.preventDefault();
var form = this;
var custEmail = $("anotherId").val();
$.ajax({
url: "/return_customer",
data: {email: custEmail},
type: "POST",
dataType: "json",
complete: function(data) {
creditAmount = data.responseJSON;
form.submit();
},
});
});
});
}
然后我需要使用creditAmount
:
function getPendingCredit(){
var modal = $("#fresh-credit-iframe");
modal.load(function(){
$(this).contents().find("#fresh-credit-continue-shopping").click(function(data){
var enteredAmount = +($(modal).contents().find("#pending_credit_amount").val());
console.log(creditAmount);
$("#fresh-credit").hide();
});
});
}
最后,这就是我调用这两个函数的方式,但是当我到达creditAmount
时再次为空白
getCustomer();
if(creditAmount != ""){
showModal(closeModal);
getPendingCredit(creditAmount);
}
答案 0 :(得分:0)
设置延迟或使用promises / callback。使用ajax发送的请求与填充变量时收到的响应之间存在一点时间差。