这里是场景:我通过Web服务器从数据库获取数据。根据该数据页面向同一服务器发送另一个请求以执行某些操作。简化结构如下:使用jQuery从Web服务器获取数据
var datacon;
$.post('method',function(data){
datacon = data;
// populating some tags;
}) // end of post
//some other staff happening;
$.post('other',{datacon}, function(env){
...// taking data from populated tags
$("div").load(env);
...
}) // end of post
每次用户进入页面时都会发生这种情况。在打开页面时,此代码不起作用,datacon为空。但是,如果我将刷新一次或两次,它就开始工作。第二个.post完美地工作,检查了数百次。我用$ .get改变了第一个$ .post,但它没有帮助。
可能它涉及异步/同步调用。我不明白为什么会发生。请帮忙。
p.s.服务器是CherryPy。
迈克,请您再解释一下吗?什么是done()函数? – 2012-08-08 19:51:30
我相信Mike的建议可以通过将第二个POST移动到第一个POST的回调函数中来实现。 – ach 2012-08-08 20:07:31
迈克,你太棒了。它确实有效。 – 2012-08-09 07:33:20