js中一个函数获取另一个函数返回值问题探讨_javascript技巧

复制代码 代码如下:

//此种为异步,还不等ajax赋完值,函数就return了。
function getCaseInfoForMap(){
var formInfo=$("#firstForm").serialize();
var dd;
$.ajax({
type:"post",
url:"<%=path %>/webmodule/constructionDecision/WjInfo/getCaseInfoForMap.do?timeType="+timeType+"&gridNumber="+gridNumber,
dataType:"json",
data:formInfo,
success:function(data){
dd=data;
}
});
return dd;//
}
//测试
function test(){
var data=getCaseInfoForMap();
alert(data[0].caseId);
}

复制代码 代码如下:

//此种为同步async:false,ajax执行不完不会return
function getCaseInfoForMap(){
var formInfo=$("#firstForm").serialize();
var dd="";
$.ajax({
type:"post",
url:"<%=path %>/webmodule/constructionDecision/WjInfo/getCommCaseInfoCount.do?timeType="+timeType+"&gridNumber=110105217",
dataType:"json",
data:formInfo,
async:false,
success:function(data){
dd=data;
}
});
return dd;
}
//测试
function test(){
var data=getCaseInfoForMap();
alert(data);

}

时间: 2024-09-16 10:03:06

js中一个函数获取另一个函数返回值问题探讨_javascript技巧的相关文章

在JS中最常看到切最容易迷惑的语法(转)_javascript技巧

js中大括号有四种语义作用 语义1,组织复合语句,这是最常见的 复制代码 代码如下: if( condition ) { //... }else { //... } for() { //... } 语义2,对象直接量声明 复制代码 代码如下: var obj = { name : 'jack', age : 23 }; 整个是个赋值语句,其中的{name:'jack',age:23}是个表达式,单独存在也不会出现语法错误的. 语义3,声明函数或函数直接量 复制代码 代码如下: function

浅谈js中几种实用的跨域方法原理详解_javascript技巧

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 一.通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的.但是,在页面上引入不同

在JS中a标签加入单击事件屏蔽href跳转页面_javascript技巧

我们常用的在a标签中有点击事件: 1. a href="JavaScript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放.W3C标准不推荐在href里面执行javascript语句 2. a href="javascript:void(0);"

js中使用使用原型(prototype)定义方法的好处详解_javascript技巧

经常在前端面试或是和其他同行沟通是,在谈到构造在JS定义构造函数的方法是最好使用原型的方式:将方法定义到构造方法的prototype上,这样的好处是,通过该构造函数生成的实例所拥有的方法都是指向一个函数的索引,这样可以节省内存. 当然,这种说法没有任何问题,只是在实现上,并非只有使用prototype的方式才能达到这样的效果,我们可以将方法以函数的形式定义在构造函数之外,然后在构造函数中通过this.method = method的方式,这样生成的实例的方法也都通过索引指向一个函数,具体如下:

JS中改变this指向的方法(call和apply、bind)_javascript技巧

this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. this一般指向的是当前被调用者,但也可以通过其它方式来改变它的指向,下面将介绍三种方式: 1.call用作继承时: function Parent(age){ this.name=['mike','jack','smith']; this.age=age; } function Child(age){ Parent.call(this,age);

JS中call/apply、arguments、undefined/null方法详解_javascript技巧

a.call和apply方法详解 -------------------------------------------------------------------------------- call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指

JS中dom0级事件和dom2级事件的区别介绍_javascript技巧

dom0级事件 <a href="#" id="hash" onclick="fn();fn();"> <button type="button">返回上面进行开通</button> </a> var btn=$('#hash').get(); btn.onclick=function(){ alert(''); }; btn.onclick=function(){ alert(

js中 计算两个日期间的工作日的简单实例_javascript技巧

实例如下: //起始日期,/pattern/是正则表达式的界定符,pattern是要匹配的内容,只用于第一个符号的匹配,g为全局匹配标志 var beginDate = new Date("2013-01-01".replace(/-/g, "/")); //结束日期 var endDate = new Date("2013-01-31".replace(/-/g, "/")); //日期差值,即包含周六日.以天为单位的工时,

JS中多步骤多分步的StepJump组件实例详解_javascript技巧

最近的工作在做一个多步骤多分步的表单页面,这个多步骤多分步的意思是说这个页面的业务是分多个步骤完成的,每个步骤可能又分多个小步骤来处理,大步骤之间,以及小步骤之间都是一种顺序发生的业务关系.起初以为这种功能很好做,就跟tab页的实现原理差不多,真做下来才发现,这里面的相关逻辑还是挺多的(有可能是我没想到更好地办法~),尤其是当这个功能跟表单,还有业务数据的状态结合起来的时候.我把这个功能相关的一些逻辑抽象成了一个组件StepJump,这个组件能够实现纯静态的分步切换和跳转,以及跟业务相结合的复杂