jquery中的get和post、ajax有关返回值的问题描述
一:前言
今天我就要离开公司回学校准备考试,在走之前,我自己做的一个模块测试除了一些小的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有关返回值的问题描述的更多相关文章
- jQuery中ajax如何返回值到上层函数
jQuery中ajax如何返回值到上层函数 一.总结 一句话总结: ajax的同步操作即可,设置 async: false, 二.jquery的同步操作 var can_submit=true; $. ...
- Jquery ajax 得到返回值
Jquery ajax 得到返回值 1.ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false,//同步. 2.必须定义一个全局变量 var result = ...
- C#中的函数(二) 有参有返回值的函数
接上一篇 C#中的函数(-) 无参无返回值的函数 http://www.cnblogs.com/fzxiaoyi/p/8502613.html 这次研究下C#中的函数(二) 有参有返回值的函数 依然写 ...
- JQuery中常用的$.get(),$.post(),$.ajax(),$.getJSON(),load()的详解与区别
背景:因为最近需要获取本地的数据件进行项目测试,需要用到JQuery实现数据文件的读取,但是由于对JQuery内的获取文件方式不太了解,这次趁着机会进行一下总结.因为该总结是本人根据平常的使用及网上的 ...
- jquery中通过trim() length 判断数据是否有值
在jquery中可以通过如下方式判断某一个字符串是否有值,结合if else if 语句进行业务逻辑的处理 <!DOCTYPE html> <html lang="en&q ...
- jquery序列化from表单使用ajax提交返回json数据(使用struts2注解result type = json)
1.action类引入struts2的"json-default"拦截器栈 @ParentPackage("json-default") //示例 @Paren ...
- 关于ajax中return并不能作为方法的返回值
接下来关于ajax中的return值最后没有办法是方法的最终返回值问题 login(username,password) { console.log("进入方法"); $.ajax ...
- 微信浏览器Ajax请求返回值走error
微信浏览器Ajax post请求是返回值走的error $.ajax({ type: "POST", url: "https://XXXX", cache: f ...
- GCC:条件判断中赋值语句和函数结尾时无返回值的警告
有下面非常经典的一个字符串复制程序. test1.c #include <stdio.h> int main() { char str_t[]="This String come ...
随机推荐
- EAS_Table
SHR人力 员工表 T_BD_PERSON fbirthday 出生日期 femployeetypeid 员工状态 员工状态 T_HR_BDEMPLOYEETYPE T ...
- mono webreques https exception
前几天在做一个使用URL通过WebRequest请求HTML页面的功能的时候遇到了点坑,程序在开发环境没有任何的问题,部署到linux mono上之后就跪了.代码如下: public static s ...
- 【Spring实战】----开篇(包含系列目录链接)
[Spring实战]----开篇(包含系列目录链接) 置顶2016年11月10日 11:12:56 阅读数:3617 终于还是要对Spring进行解剖,接下来Spring实战篇系列会以应用了Sprin ...
- 【WPF】 前言
[WPF] 前言 前段时间项目中用到了WPF,就边学边做项目,一个项目做下来有点感触,以此记录. 以前也开发过多个C/S项目, 一直都是用的Winform,Winform 做些简单的界面很方便,基本只 ...
- Dijkstra模板 dj斯特拉
图论里非常常用的dijkstra,自己加了个路径查找,做个模板吧: ; struct Edge { int from,to,dist; Edge(int u, int v, int d):from(u ...
- mysql分布式技术
所有的分布式技术 dobble zokkiper ngix
- Hyper-v创建检查点(VM的快照功能)
一. 问题描述 在Hyper的默认设置中没有创建检查点的功能,是因为他启用的并不是标准设置.设置检查点时会 二. 解决方法 再设置检查点就没问题了
- el-checkbox根据是否被选中执行不同的操作
直接给el-checkbox绑定点击事件是没有效果的,因为它会被解析成其他形式的html,el-checkbox只是一个类名,因此,使用ts和jquery动态绑定事件: mounted() { $(& ...
- setcookie函数
在任何请求的服务器响应都会有个头部,默认情况下,头部发送动作会在第一个输出发生时触发,如echo,<html>.(注:php有个header方法手动发送原生header) 由于setcoo ...
- Session接口常用方法
org.hibernate.Session接口 beginTransaction 开启事务 clear 清缓存 close 关闭session connection - 过时 获取Connection ...