Jquery中进行post请求时同步与异步的区别(从实例入手学习)
场景
表单中有两个输入框input在提交这个表单前需要对两个输入框进行校验。
即点击提交按钮时会经过校验的方法,此方法会post方式提交到后台,在请求后台成功后的回调方法中会对js变量进行赋值,进而决定是否提交此表单。
$.post
默认是异步提交,所谓异步提交就是在请求发出去之后,不管结果是否返回,都会执行后面的代码。
所以呀想把返回的结果或者根据返回结果给js变量赋值,那么就要使用同步请求。同步请求就是等请求结果返回后再执行后面的代码。
因为默认是异步请求,所以修改为同步请求的方式为:
async:false,
添加如上属性。
实现
form表单代码:
<form id="inAirportForm" action="${ctx}/frontPage/passFlight/GJbook.html" method="post" class="plug_form dis_none" onsubmit="return inAirportCheck(this)"><button class="btn_max wm_94 bg_title c_white mt_1em h_36em"type="submit"><spring:message code="search" /></button><buttonclass="btn_max wm_94 border bor_title bg_white c_title mt_1em h_36em"type="reset"><spring:message code="reselection" /></button> </div>
</form>
中间input框代码省掉。
js验证方法代码
function inAirportCheck(that) {var guojiStrart = $(".plug_airport3 ").val();var guojiEnd = $(".plug_airport4").val();debuggervar formAction = "${ctx}/frontPage/passAddrAirport/validateIsGuoNeiAll";var validateIsGuoNeiAll = false;$.post({async:false,url: formAction,cache: false, //禁用缓存data:JSON.stringify({"guojiStrart":guojiStrart,"guojiEnd":guojiEnd}),contentType: "application/json",dataType: "json",success: function (result) {debuggerif ("300" == result.statusCode) {$ak.alert(result.message, { //(微信平台的H5使用方法 $ak.alert)title: "信息提示",//弹窗标题button_ok: "确定",button_cancel: "取消",icon: "error", //图标类型(warning,error,info,question,success)animateIn: "bounceInDown",//弹窗显示效果animateOut: "bounceOutUp"});validateIsGuoNeiAll = false;}if("200" == result.statusCode){validateIsGuoNeiAll = true;}}});return validateIsGuoNeiAll;
}
如上代码是设置为同步之后的代码,如果不加async:false,< BR> 则后台还没走完验证,表单已经提交。
Jquery中进行post请求时同步与异步的区别(从实例入手学习)相关推荐
- php中jquery ajax请求参数,浅谈Jquery中Ajax异步请求中的async参数的作用
之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax( ...
- 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题...
前段时间做一个项目,而项目中所有的请求都要用jquery 中的ajax请求或者post请求,但是开始处理一些简单操作还好,但是自己写了一些验证就出现问题了,比如表单提交的时候,要验证帐号的唯一性,所以 ...
- iOS 中的网络请求 (同步请求、异步请求、GET请求、POST请求)
1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...
- jQuery中终止Ajax请求
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- TP框架中ajax post请求时提示404
ajax post请求时提示404错误 TP框架中ajax post请求时提示404 找了半天是 控制器中方法有错误! 下次再遇到去控制器方法中找一步一步找,肯定能找到,我是单词拼错了! 转载于:ht ...
- html jquery post,jQuery中的post请求
# jQuery中的post请求 ***** **需要引入JQuery包** ``` 用户名: 密 码: $("#btn").click(function () { $.ajax( ...
- 线程中的同步和异步的区别
线程中的同步和异步的区别 一.同步 所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作.是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率不 ...
- 关于JS下offsetLeft,style.left,以及jquery中的offset().left,css(left)的区别。
最近因为工作需要,仔细研究了一下关于JS下offsetLeft,style.left,以及jquery中的offset().left,css("left")的区别. JS下的off ...
- JS中同步和异步的区别
JS中同步和异步的区别 js是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推.如果一个任务耗 ...
最新文章
- opengl深度缓冲获得的深度图精度太低_深度学习行人重识别ReID最新综述与展望...
- javaBeen的四个作用范围
- javaweb登录系统账号密码验证等
- dell idrac 复位_DELL 服务器 装系统前初始化(恢复出厂、超线程、虚拟化、iDRAC设置)...
- IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT
- 罗永浩进军乐坛,参加《谁是宝藏歌手》,网友:来祸害音乐圈了?
- Android开发笔记(一百七十二)第二代翻页视图ViewPager2
- 2021年中国仪表球轴承市场趋势报告、技术动态创新及2027年市场预测
- CDA数据分析师 - 备考指南
- 手持式矢量网络分析仪
- 爬取豆瓣高分电影榜实例
- 解决:金山词霸界面太小
- 计算机应用高级教程,计算机应用高级教程(本科)
- 机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes)...
- (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
- 挑战用五行代码轻松集成登录系统,实现单点登录
- arduino智能跟随小车
- 解决删除chrome注册表残留问题
- 使用docker engine 运行时 集群部署 kubernetes v1.23
- Zigbee(3) ---- 无线温度检测试验
热门文章
- java常用的排序算法的思想以及实现
- springcloud ribbon 配置负载均衡策略以及自定义策略
- 「后端小伙伴来学前端了」Vue中为什么直接安装less-loader会报版本过高错误?你有没有思考过?
- oracle10g 04030,一次ORA-04030问题的诊断(一)
- java接口构建英雄属性_Java开发学习心得(三):项目结构
- git 怎么读_python3中开源代码怎么读?
- python查看函数定义_从函数内函数定义看python的函数实现
- 进制转换应用场景_PLC编程:PLC内部各类型数据转换(整理分享)
- 浙工大计算机类包含哪些专业,浙江工业大学计算机类专业培养计划
- 机器人演唱邓丽君是真的吗_20年后,高科技让她与邓丽君终相逢