解决ajax无法给js全局变量赋值的问题
解决ajax无法给js全局变量赋值的问题
http://blog.csdn.net/qq_26222859/article/details/51543433
在ajax中是无法给js中的全局变量赋值的,因为ajax默认是异步请求(当要赋值时,此时的值没有拿到,所以赋值不成功)。例如:
- function test(){
- var result=0;
- $.ajax({
- type: "POST",
- url: "ajax/checkfor1.php?action=reg_checkEmail",
- data: {email:email},
- dataType: 'text',
- success: function(data){
- results=data;
- },
- error: function() {
- alert("异常!");
- }
- });
- }
执行时会发现赋不进去值
解决办法1:将ajax请求设置为同步请求
- function test(){
- var result=0;
- $.ajax({
- type: "POST",
- url: "ajax/checkfor1.php?action=reg_checkEmail",
- data: {email:email},
- dataType: 'text',
- async: false, //设置为同步请求
- success: function(data){
- results=data;
- },
- error: function() {
- alert("异常!");
- }
- });
- }
解决办法2:不使用js全局变量存数据而是用隐藏的html标签存数据
- function test(){
- var result=0;
- $.ajax({
- type: "POST",
- url: "ajax/checkfor1.php?action=reg_checkEmail",
- data: {email:email},
- dataType: 'text',
- success: function(data){
- $('#datastore').append('<div data='+data+'></div>');//使用一个div标签,定义一个自定义属性data来存储数据
- },
- error: function() {
- alert("异常!");
- }
- });
- }
解决ajax无法给js全局变量赋值的问题的更多相关文章
- ajax回调函数,全局变量赋值后,ajax外无法获取的解决
1 ajax回调函数内,function的执行与ajax外是异步的,常导致全局变量赋值后,再次使用此变量人无法获取. 所以,可以把需要的步骤,独立放在functuon中,在ajax回调函数中执行.可较 ...
- ajax方法如何给全局变量赋值
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...
- ajax给全局变量赋值问题解决示例
今天在做项目时,遇到了一个问题.我用的是ajax,要在 ajax里面给一个全局变量赋值,结果死活赋值不上,纠结了好半天,后来上网查了查,才 知道,ajax默认是异步请求,(当要赋值时,此时的值没有拿到 ...
- ajax给全局变量赋值问题
ajax给全局变量赋值问题 今天在做项目时,遇到了一个问题.我用的是ajax,要在$.ajax({里面给一个全局变量赋值,结果死活赋值不上,纠结了好半天,后来上网查了查,才知道,ajax默认是异步请求 ...
- 浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法(转载)
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
- jquery ajax 中不能给变量赋值的原因及解决办法
我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去, ...
- ajax给全局变量赋值问题解决
$.ajax({ type: "post", //以post方式与后台沟通 url: "./php/chartAjax.php", //与此php页面沟通 da ...
- ajax实现给JavaScript中全局变量赋值(转)
原文地址:ajax实现给JavaScript中全局变量赋值 问题简化: <script type="text/javascript"> var a=1 ; functi ...
随机推荐
- Atitit.隔行换色 变色 css3 结构性伪类选择器
Atitit.隔行换色 变色 css3 结构性伪类选择器 1.1. css3隔行换色扩展阅读 1 1.2. 结构伪选择器 1 1.3. jQuery 选择器2 1.1. css3隔行换色扩展阅读 原 ...
- Objective-C之@protocol
转自:http://www.cnblogs.com/hxxy2003/archive/2011/10/24/2222838.html @protocol是Objective-C中的接口定义方式,也就是 ...
- [个人开发人员赚钱九]做一个日收入10元的APP!
[导语]尽管讲了非常多个人开发人员的文章.但新手开发人员怎样赚自己的第一个10块钱.确是最难的事情.群里有人说都不知道干什么app赚钱.全然没有想法.而且常常问我有什么高速赚钱的方法.我仅仅能遗憾地 ...
- 跟着百度学PHP[14]-PDO之Mysql的事务处理2
前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...
- 浅谈myeclipse2015做cordova/phonegap开发
近期公司项目经理要求用cordova写安卓程序,之前对cordova什么都不懂,然后从网上搜啊搜,好歹有所了解了,感觉做web开发的比較合适,属于三种开发模式的第三种. myeclipse2015有个 ...
- java 检测字符串中文乱码
1.检测是否为乱码 public static boolean isMessyCode(String strName) { Pattern p = Pattern.compile("\\s* ...
- Vmware虚拟机修改静态IP无法ping外网,以及eth0不见问题解决
1. 修改静态地址后发现无法ping外网 要先把/etc/sysconfig/network-scripts/ifcfg-eth0中的网关设置成192.168.230.2. 需要设置网关 sudo r ...
- nginx健康节点检查nginx_upstream_check_module 淘宝的upstream_check进行nginx后端检查 tengine
Nginx实战系列之功能篇----后端节点健康检查 2015-01-18 22:35 5007人阅读 评论(0) 收藏 举报 分类: Nginx(28) 目录(?)[+] 公司前一段对业务 ...
- linux引导模式两种
https://www.ibm.com/developerworks/cn/linux/l-bootload.html
- 档案 & 权限管理
1. owner, group, others root 是万能的天神 权限 连结档 owner group 容量 修改日期 档名 2. chown, chgrp, chmod chgrp –R ro ...