使用ajaxSubmit进行异步调用 – jquery.form
发布时间:2020-12-16 02:49:32 所属栏目:百科 来源:网络整理
导读:我有一个表格有一定的行动.提交表单时,我发送一个调用此操作的ajax调用.另一方面,我发送另一个ajax调用来更新进度.我这样做了: $("form").submit(function() { function callBack() { if( (this.readyState == 4) (this.status == 200) ) { console.log(thi
我有一个表格有一定的行动.提交表单时,我发送一个调用此操作的ajax调用.另一方面,我发送另一个ajax调用来更新进度.我这样做了:
$("form").submit(function() { function callBack() { if( (this.readyState == 4) && (this.status == 200) ) { console.log(this.responseText); } } function updateProgress (){ asyncReq('/get_progress?progress='+progress,callBack); } function asyncReq(url,functionCallBack) { var request; //request must be a local var to avoid race condition try { //for modern browsers request = new XMLHttpRequest; } catch (err) {// legacy IE request = new ActiveXObject("Microsoft.XMLHTTP"); } request.onreadystatechange = callBack; request.open("GET",url,true); request.send(); }; var progress = $("#progress").val(); asyncReq('/get_progress?progress='+progress,callBack); setTimeout(updateProgress,2000); $(this).ajaxSubmit({async: true}); return false; }); 我在这里有2个异步javascript调用,一个用于提交表单,另一个用于更新进度.当我在callBack中打印出responseText时,我只能看到0.0和1.0.这是在调用ajaxSubmit()之前和完成之后的那个.我想在中间获得所有进步的价值.据我所知,只有在ajaxSubmit完成后才会调用asyncReq的第二个ajax调用.任何人都可以告诉我在ajaxSubmit()完成之前如何进行另一个完整的ajax调用? 注意: 表单由文件字段和ajaxSubmit解压缩组成,处理文件并在处理完每个文件后更新进度表. get_progress方法提取该表的进度值.我使用jquery.form.js通过ajax调用提交表单. 解决方法
我不清楚你试图实现的目标.但是,这是您的代码的简化版本.
function updateProgress(){ var progress = $("#progress").val(); $.get('/get_progress?progress='+progress,function(data){ //***you will get response in data //here you write how to handle progress and data } setTiemout('updateProgress()',2000) } $('form').submit(function(){ updateProgress(); $(this).ajaxSubmit({async: true}); }) 我不确定ajaxSubmit()函数实际上为你做了什么!顾名思义,我猜它只是提交表格.现在,如果您想将自己的逻辑用于显示进度,那么您只需将该逻辑放在***标记区域即可. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ajax处理请求,以JSON数据格式返回,(json时间日期返回时对
- ios – 在Swift中获取图像名称UIImagePickerController
- Using SQLite in your Windows 8 Metro style applications
- RealARM210 V3.2硬件版本 nand flash地址分配明细
- 如何使用现有的Oracle序列在hibernate中生成id?
- ruby-on-rails – 预先安排现有的rake任务
- 使用React快速开发Chrome扩展程序
- react-native – 使用hashtag将React Native Post图像发送到
- 编译PortAudio示例时出错
- Flex布局之学习笔记一(容器属性)