new Ajax.Request
本帖最后由 showbo 于 2014-04-16 10:03:50 编辑
今天写了一个demo 其中用到了ajax 很奇怪的是 我定义的一个变量 ajax确实返回了 并且更改了 但是要alert之后 变量的值才会变成最新的 原本以为是并行执行的问题 但是加入了休眠之后 也是不起作用的 大神们 有遇到这样的情况吗? 下边是代码
new Ajax.Request(url, {
method: 'post',
parameters: 'id=' + id,
onComplete: function (response) {
var data = response.responseText;
if (data != null) {
var json = eval("(" + data + ")");
bianliang = json["test"];
}
}
});
//alert(bianliang);
if (bianliang != null) {
//........
}
id上边定义过 这里就没贴出来
bianliang确实是已经获取到了 但是如果我把alert那一行注释掉 变量还是原来的值 不是ajax请求改变的值
很奇怪必须要alert 大神们有遇到这样的情况吗
------解决方案--------------------这就是同步与异步的区别
------解决方案--------------------改下执行顺序呢。。
------解决方案--------------------
你肯定得改成同步执行的才行,至于怎么配置成同步的,你要看别人的类库怎么写的