一:前言

    今天我就要离开公司回学校准备考试,在走之前,我自己做的一个模块测试除了一些小的bug。问题如下

      我在往数据库中插入数据,首先要选择一级菜单,接着会更具一级菜单生成一级菜单的子目录,在选择日期。填完数据后进行保存操作。在点击保存时需要对新增的数据进行验证,就是根据一级目录的编号和日期来进行查询,如果有的话就要弹出一个提示框,告诉其其中已经有了改目录该日期的数据。在这里我就需要进行验证。但是我在用jquery.get方法来写时怎么都没有用。而此时我又快下班走人了,弄得我很烦躁,最后还是一个老大哥来帮我解决这个问题。

二:问题代码:

function checkForm(){

   $.get("url",{'参数1':a,'参数2':b},function(data){
if("success"==data){//返回success表示数据库中有改数据,所以该返回false
showTips("数据库中已经有该数据,如需要请查找进行更改");
return false;
}
}); return true;
}

我这里的代码怎么执行,返回的都是true,也就是说我每次都是执行插入操作。这个验证基本没有用处。

所以我用IE和火狐的浏览器进行调试都没用,也没报错误。快下班之前,找到了一个其他公司的老大哥(我是在外面驻点的,好几家公司在一起),他看了一会,就是这个是异步与同步造成的,刚刚开始我不相信,因为代码执行到return哪里基本就没反应了,我怎么都不会想到是异步或者是同步造成的。老大哥说这需要用ajax,指定为同步,因为jquery的post和get都是异步的。最后我们对代码进行了更改如下:

function checkForm(){
var flag=true;
$.ajax({url:"/xxx/xxx.do"},data:{'参数1':a,'参数2':'b'},async:false,success:function(data){
if("success"==data){
flag=fasle;
}
});
if(flag==false){
showTips("XXXXXX");
return false;
} }

其实这代码一进行对比,就知道是同步和异步的区别,刚刚在网上也查了下资料说法如下:如果是异步的话,还没来得及赋值,就已经return了。而同步的话就是说ajax有了返回值后才会执行下面的代码。其实这些应该也是。

我现在自己的理解就是知道用同步的话会有返回值,二用异步的话返回不了,在异步代码中,return的话只有返回到function(data)外,但是还是在$.get("","",function(data))里面,根本就没有跳出方法外。这是我自己一点理解。

三:总结

自己的IT路踩刚刚开始,也要学会能帮助别人,就像那个老大哥样,他给了我很大的帮助,我问了他很多问题,他的经验很丰富。好人有好报的,希望在以后的IT路上,能有更多的有经验的人可以給我们这写菜鸟帮助。前段时间在一个qq群上群主和一些其他朋友也给我了很大的帮助。自己的路还很长。努力,加油啊。走了,明天回学校准备期末考试了,今年大三,明年大四,希望在这段时间能充实自己,为自己以后出来打下坚实的基础

jquery中的get和post、ajax有关返回值的问题描述的更多相关文章

  1. jQuery中ajax如何返回值到上层函数

    jQuery中ajax如何返回值到上层函数 一.总结 一句话总结: ajax的同步操作即可,设置 async: false, 二.jquery的同步操作 var can_submit=true; $. ...

  2. Jquery ajax 得到返回值

    Jquery ajax 得到返回值 1.ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false,//同步. 2.必须定义一个全局变量 var result = ...

  3. C#中的函数(二) 有参有返回值的函数

    接上一篇 C#中的函数(-) 无参无返回值的函数 http://www.cnblogs.com/fzxiaoyi/p/8502613.html 这次研究下C#中的函数(二) 有参有返回值的函数 依然写 ...

  4. JQuery中常用的$.get(),$.post(),$.ajax(),$.getJSON(),load()的详解与区别

    背景:因为最近需要获取本地的数据件进行项目测试,需要用到JQuery实现数据文件的读取,但是由于对JQuery内的获取文件方式不太了解,这次趁着机会进行一下总结.因为该总结是本人根据平常的使用及网上的 ...

  5. jquery中通过trim() length 判断数据是否有值

    在jquery中可以通过如下方式判断某一个字符串是否有值,结合if else if 语句进行业务逻辑的处理 <!DOCTYPE html> <html lang="en&q ...

  6. jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)

    1.action类引入struts2的"json-default"拦截器栈 @ParentPackage("json-default") //示例 @Paren ...

  7. 关于ajax中return并不能作为方法的返回值

    接下来关于ajax中的return值最后没有办法是方法的最终返回值问题 login(username,password) { console.log("进入方法"); $.ajax ...

  8. 微信浏览器Ajax请求返回值走error

    微信浏览器Ajax post请求是返回值走的error $.ajax({ type: "POST", url: "https://XXXX", cache: f ...

  9. GCC:条件判断中赋值语句和函数结尾时无返回值的警告

    有下面非常经典的一个字符串复制程序. test1.c #include <stdio.h> int main() { char str_t[]="This String come ...

随机推荐

  1. Spring + MySQL + Mybatis + Redis【二级缓存】

    一.Redis环境 Redis 官网 :http://redis.io/ windows下载:https://github.com/dmajkic/redis/downloads 1.文件解压缩 2. ...

  2. Entity Framework 数据生成选项DatabaseGenerated【转】

    在EF中,我们建立数据模型的时候,可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity.None和Computed. Identity:自增长 None:不 ...

  3. 浅析express以及express中间件

    一.express: 1.express: Express是什么? Express是基于node.js平台的web应用开发框架: 作用:可以实现快速搭建骨架: 优点:开发web应用更加方便,更加快捷. ...

  4. git使用ssh密钥(转)

    git使用https协议,每次pull, push都要输入密码,相当的烦.使用git协议,然后使用ssh密钥.这样可以省去每次都输密码. 大概需要三个步骤:一.本地生成密钥对:二.设置github上的 ...

  5. [转] Bash脚本:怎样一行行地读文件(最好和最坏的方法)

    用bash脚本读文件的方法有很多.请看第一部分,我使用了while循环及其后的管道命令(|)(cat $FILE | while read line; do … ),并在循环当中递增 i 的值,最后, ...

  6. Android学习笔记之,调用系统图库,添加自定义字体,屏幕截图

    新年开始的第一天就来学习了慕课迎春活动中的Android心愿分享一课,学到了几个知识点,在此记录一下. 1.调用系统图库调用系统图库用的是intent,步骤为弹出系统图库选择器,选择图片后获取到所选择 ...

  7. python csv 模块的使用

    python csv 模块的使用 歌曲推荐:攀登(live) csv 是用逗号分隔符来分隔列与列之间的. 1. csv的写入 1.简单的写入,一次写入一行 import csv with open(& ...

  8. LeetCode 23 ——合并 K 个排序链表

    1. 题目 2. 解答 2.1. 方法一 在 合并两个有序链表 的基础上,我们很容易想到第一种解法,首先我们将第一个链表和第二个链表合并成一个新的链表,然后再往后依次合并接下来的每个链表即可. 假设每 ...

  9. C++学习---- static关键字用法总结

    static: 作用:存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化.共有两种变量存储在静态存储区:全局变量和static变量. 1.隐藏:(静态全局变量和静态函数)   ...

  10. linux消息队列通信

    IPC机制 进程间通信机制(Inter Process Communication,IPC),这些IPC机制的存在使UNIX在进程通信领域手段相当丰富,也使得程序员在开发一个由多个进程协作的任务组成的 ...