对于ajax获取值没有及时获取到
来源:互联网 发布:ab压力测试nginx 编辑:程序博客网 时间:2024/05/29 10:30
平时项目中会出现一种情况就是
使用 new Ajax.Request来处理一些变量
例如
new
Ajax.Request(url, {
method:
'post'
,
parameters:
'id='
+ id,
//asynchronous : false,
onComplete:
function
(response) {
var
data = response.responseText;
if
(data !=
null
) {
var
json = eval(
"("
+ data +
")"
);
bianliang = json[
"test"
];
}
}
});
//alert(bianliang);
if
(bianliang !=
null
) {
//........
}
最初的想法是js执行顺序 ajax在没有执行完之前就执行了下边的if判断 导致出问题
于是就尝试利用一下休眠 让if晚执行一些时间
var start = new Date().getTime();
while(true){
var end = new Date().getTime();
if(end-start>1000) break;
}
虽然进行了类似休眠的功能 但是并不影响问题的出现
故可以认为不是因为并行执行的原因
搜索了一下相关资料 发现ajax是新发出一条进程
由于不知道这种如何处理 暂时算是遗留下的问题
突然想到ajax默认是异步 也就是会说客户端不会等待结果就会往下边进行处理
所以果断设置一下同步 即上边注释的(默认是异步 false是同步)
设置完之后果然可以正确的获取到值了
随后想到同步会造成用户的一些不好体验 毕竟是需要等待执行完才能继续往下执行 也就是说如果这次请求花费时间很长很长 就会让用户一直在等待
接下来自然想到既然是弹出警示框才能获取到
那何不造一个仿警示框
即 showModelessDialog即可 然后只需要设置自动关闭就行了 (setTimeout("iframe.location.reload();",1))
可惜它有大小的最小设定 用户显然是能够看到他的 这个可以当做备选处理方法
0 0
- 对于ajax获取值没有及时获取到
- angular数据获取后,无法及时更新到页面
- WindowManager没有获取到焦点
- django的request、session没有获取到值,赋默认值
- jquerymobile checkbox 及时刷新才能获取其准确值
- 获取多选框的值 用ajax发送到后台
- Ajax获取json值并渲染到页面
- $.ajax获取返回值
- ajax获取返回值
- Ajax获取返回值
- Ajax获取数据渲染到页面
- element获取到后台的数据(ajax)
- Ajax获取html数据传到后台,获取返回值,添加到input框里
- 专访ZRobotCEO乔杨:多数大数据公司既没有数据生产能力,也不具备及时获取数据的能力
- 获取录音文件创建时间及时长
- 获取jquery ajax 返回值
- 获取ajax请求返回值
- js获取ajax返回值
- 移植测试工具到android
- 记录学习JavaWeb的点点滴滴(1)
- Xcopy参数介绍
- C++中智能指针的原理和简单使用
- osgi 资料收集
- 对于ajax获取值没有及时获取到
- 结构体 dirent
- 借助开源工具高效完成Java应用的运行分析
- mysql 数据库优化
- eclipse bookmark的使用
- Unity GameObject.activeSelf, GameObject.activeInHierarchy,GameObject.SetActive和SetActiveRecursively
- Windows系统错误代码大全(三)
- 陌上相逢,拾取馨暖
- Oracle BUFFER CACHE研究