场景

表单中有两个输入框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请求时同步与异步的区别(从实例入手学习)相关推荐

  1. php中jquery ajax请求参数,浅谈Jquery中Ajax异步请求中的async参数的作用

    之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html asy.js function testAsync{ var temp; $.ajax( ...

  2. 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题...

    前段时间做一个项目,而项目中所有的请求都要用jquery 中的ajax请求或者post请求,但是开始处理一些简单操作还好,但是自己写了一些验证就出现问题了,比如表单提交的时候,要验证帐号的唯一性,所以 ...

  3. iOS 中的网络请求 (同步请求、异步请求、GET请求、POST请求)

    1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...

  4. jQuery中终止Ajax请求

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. TP框架中ajax post请求时提示404

    ajax post请求时提示404错误 TP框架中ajax post请求时提示404 找了半天是 控制器中方法有错误! 下次再遇到去控制器方法中找一步一步找,肯定能找到,我是单词拼错了! 转载于:ht ...

  6. html jquery post,jQuery中的post请求

    # jQuery中的post请求 ***** **需要引入JQuery包** ``` 用户名: 密 码: $("#btn").click(function () { $.ajax( ...

  7. 线程中的同步和异步的区别

    线程中的同步和异步的区别 一.同步        所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作.是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率不 ...

  8. 关于JS下offsetLeft,style.left,以及jquery中的offset().left,css(left)的区别。

    最近因为工作需要,仔细研究了一下关于JS下offsetLeft,style.left,以及jquery中的offset().left,css("left")的区别. JS下的off ...

  9. JS中同步和异步的区别

    JS中同步和异步的区别 js是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推.如果一个任务耗 ...

最新文章

  1. opengl深度缓冲获得的深度图精度太低_深度学习行人重识别ReID最新综述与展望...
  2. javaBeen的四个作用范围
  3. javaweb登录系统账号密码验证等
  4. dell idrac 复位_DELL 服务器 装系统前初始化(恢复出厂、超线程、虚拟化、iDRAC设置)...
  5. IO模式设置,阻塞与非阻塞的比较,recv参数对性能的影响—O_NONBLOCK(open使用)、IPC_NOWAIT(msgrcv)、MSG_DONTWAIT
  6. 罗永浩进军乐坛,参加《谁是宝藏歌手》,网友:来祸害音乐圈了?
  7. Android开发笔记(一百七十二)第二代翻页视图ViewPager2
  8. 2021年中国仪表球轴承市场趋势报告、技术动态创新及2027年市场预测
  9. CDA数据分析师 - 备考指南
  10. 手持式矢量网络分析仪
  11. 爬取豆瓣高分电影榜实例
  12. 解决:金山词霸界面太小
  13. 计算机应用高级教程,计算机应用高级教程(本科)
  14. 机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes)...
  15. (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  16. 挑战用五行代码轻松集成登录系统,实现单点登录
  17. arduino智能跟随小车
  18. 解决删除chrome注册表残留问题
  19. 使用docker engine 运行时 集群部署 kubernetes v1.23
  20. Zigbee(3) ---- 无线温度检测试验

热门文章

  1. java常用的排序算法的思想以及实现
  2. springcloud ribbon 配置负载均衡策略以及自定义策略
  3. 「后端小伙伴来学前端了」Vue中为什么直接安装less-loader会报版本过高错误?你有没有思考过?
  4. oracle10g 04030,一次ORA-04030问题的诊断(一)
  5. java接口构建英雄属性_Java开发学习心得(三):项目结构
  6. git 怎么读_python3中开源代码怎么读?
  7. python查看函数定义_从函数内函数定义看python的函数实现
  8. 进制转换应用场景_PLC编程:PLC内部各类型数据转换(整理分享)
  9. 浙工大计算机类包含哪些专业,浙江工业大学计算机类专业培养计划
  10. 机器人演唱邓丽君是真的吗_20年后,高科技让她与邓丽君终相逢