在本文末尾的代码中,变量pPrice
是通过定义
的$(addProduct).attr(attrProductPrice);
,然后在 JSON 调用中设置的,
$.getJSON(url, function(data) { console.log(data); pPrice = data.price; });
但是在同步.getJSON
调用之后,该值已返回其原始值。
如何通过.getJSON
调用覆盖词法范围变量的定义?源代码缩写为相关部分:
function addToCart(i,qty){
var pPrice = $(addProduct).attr(attrProductPrice); //original value
var url = '/pricefor/' + pId;
$.getJSON(url, function(data) { console.log(data); pPrice = data.price; }); // new value
console.log(pPrice); // new value lost! back to original value?!
}