jQuery getJSON() 能给外部变量赋值

//getJSON 内部已经赋值给count,alert出数据来看看是不是0

var count=0;
$.getJSON(sUrl,{"ran": new Date().getDate()},function(jsonData){
if(!jsonData.count){return;}
count=jsonData.count;
})
alert(count);

得到的数据还是0,sUrl里赋值是100。

用百度谷歌了一下,发现jquery中ajax默认是异步方式,所以会有延迟,如果一定要在外边调用,可以设置成同步的方式。

//设置成同步
  $.ajaxSetup({async: false});

加入这个代码后就可以了

var count=0;
$.ajaxSetup({async:false});
$.getJSON(sUrl,{"ran": new Date().getDate()},function(jsonData){
if(!jsonData.count){return;}
count=jsonData.count;
})
alert(count);

jQuery getJSON() 能给外部变量赋值

时间: 2024-10-09 14:42:37

jQuery getJSON() 能给外部变量赋值的相关文章

jquery ajax给外部变量赋值 async: false

开发过程中用到检查是否存在手机号问题. //验证手机号是否注册            var bl = false;            $.ajax({                type: "post",                async: false,//改为同步即可对外部变量赋值                url: "ajax.ashx?isreg=1&tel=" + $("#tbtel").val(),    

主要记录下jq,ajax赋值给外部变量

一.ajax获取的值赋值给外部变量 $('button').click(function(){ var list; $.ajax({ type: 'POST', async: false, //改成同步就可以把ajax获取的值赋值给外部变量 url: '/edit', //与edit相同都是得到对应code的success_detail data: JSON.stringify(code),//将对象打包成json的字符串发送,对应后面也要将字符串解码成字典 contentType: 'appl

CoffeeScript中的外部变量与局部变量的屏蔽

刚接触CoffeeScript时,一直不清楚它存在的意义,搜索过部分资料,可以总结为两点:①语法糖,减少代码量增加可读性②增强js代码的合法性,编译之后的js代码跟手动写的相比基本没语法错误. 其实自我感觉代码量确实减少了,但是也并不是很可观,语法糖确实使用起来很方便,而语法错误这一点,个人感觉只要是对js有一定了解的人不一定会比他差,差也差不太多,个人感觉. 说一下在使用过程中遇到的比较头疼的一点,就是外部变量与局部变量的屏蔽机制. 如下代码: a = (callback) -> setTim

深入研究Block捕获外部变量和__block实现原理

Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能“Blocks”.从那开始,Block就出现在iOS和Mac系统各个API中,并被大家广泛使用.一句话来形容Blocks,带有自动变量(局部变量)的匿名函数. Block在OC中的实现如下: struct Block_layout { void *isa; int flags; int reserved; void (*invoke)(void *, ...); struct Bl

ajax 外部变量

1.一般的js代码可以放在任何位置.但是用jquery写的代码需要先引入jquery文件,再写代码. 2.ajax函数中内部的变量不能传到外部.如果改变外部变量,需要async:false,代码如下: loginHtml = ''; $.ajax({ url:'http://gameapi.xiaoyou-game.com/aaa/bbb', async:false, type:"get", dataType:'json', success:function(data,status){

C++变量(C++变量定义、变量赋值、命名规则)

其实在前面的例子中已经多次用到了变量.在程序运行期间其值可以改变的量称为变量.一个变量应该有一个名字,并在内存中占据一定的存储单元,在该存储单元中存放变量的值.请注意区分变量名和变量值这两个不同的概念,见图2.6. 图2.6 变量名规则 先介绍标识符的概念.和其他高级语言一样,用来标识变量.符号常量.函数.数组.类型等实体名字的有效字符序列称为标识符(identifier).简单地说,标识符就是一个名字.变量名是标识符的一种,变量的名字必须遵循标识符的命名规则. C++规定标识符只能由字母.数字

[C]控制外部变量访问权限的extern和static关键字

一.extern 概述 编译器是由上至下编译源文件的,当遇到一些函数引用外部全局变量,而这个变量被定义在该函数声明主体的下方,又或者引用自其它的编译单元,这个情况就需要extern来向编译器表明此变量是一个外部变量 问题1.运用extern实现全局变量声明提升效果 #include <stdio.h> void fun(void); int main(void) { fun(); } void fun(void) { printf("%d\n", v); } int v =

Vim 中的变量赋值、引用与作用域

使用 let 进行变量赋值,echo 打印变量的值, unlet 销毁变量. 对于 Vim 选项还可用 set 来更方便地操作,比如 set {option}, set no{option}, set {option}?. 普通变量可以直接引用,环境变量要加前缀 $.寄存器变量要加前缀 @.Vim 选项要加前缀 &. 变量默认作用域取决于定义的位置,函数内则为函数作用域,外部则为全局变量. 赋值和引用变量时可以使用 b:,g:,l:,t: 等前缀来指定要操作哪个作用域的变量. 和其他编程语言一样

idea如何提取变量(拆分变量赋值和声明)

需求描述: 我们时常遇到某个在某个局部作用域声明的变量,想要用在另一个地方,此时就需要在作用域外部声明变量,在作用域中给变量赋值. 在eclipse中这个功能和提取变量在一起,我们可以方便的拆分变量的赋值和声明. 但是idea中的提取变量功能却不同,不能实现变量赋值和声明的拆分. 比如想将下面的变量jedis声明在try的外部,方法的内部通过提取变量是做不到的. 解决方法: 将光标移到欲拆分变量所在行的任意位置,然后按alt+enter(快速修复功能),出现:Split into declara