有人可以解释一下吗?
- 为什么 alert 2 在 alert 1 之前弹出?
- 为什么 alert 1 中 pageCount 的值与 alert 2 不同?
function naviSet() { var pageCount; if($.ajax({ type: "POST", url: "http://localhost/mywebsite/wp-content/themes/twentyeleven/more-projects.php", success:function(data) { pageCount = data; alert(pageCount); //alert 1 return true; }, error:function() { $("#direction").html("Unable to load projects").show(); return false; } })) alert(pageCount); //alert 2 }
请您参考如下方法:
alert1 在回调中 - 只有当 ajax 请求成功完成(即异步)时才会调用此函数。
由于相同的原因,pageCount 不同 - 调用 alert2 时尚未进行成功回调。