我正在开发应用程序,它将获得一些与我的问题无关的动态内容。问题是
var pat;
$.post('venki/path.jsp', { nam:nam } , function(data) {
pat=data;
alert(pat); //it will displayed the received code form path.jsp
});
alert(pat);// it will not keep the data received from path.jsp
现在我不需要失去范围。
例如:
var pat=0;
$.post(
pat = 1
);
alert(pat);
它应该警告1而不是o
在java中,我应该使用static。在jquery中,如何声明静态变量。
得到了答案: 它简单而且非常实用,无需担心同步。答案很棘手......
答案 0 :(得分:4)
这是因为当您提示拍拍值时,发布请求未完成。要确保修改该值,请在post success function中提醒它:
var pat;
$.post('venki/path.jsp', { nam:nam } , function(data) {
pat=data;
alert(pat); //modified value
});
答案 1 :(得分:3)
如果我没弄错的话,$.post
是异步的,所以pat
不会失去它的范围,而是在执行pat=data
之前执行
要进行同步通话,请查看以下问题:how to make a jquery "$.post" request synchronous