一个方法中的ajax在success中renturn一个值,但是方法的返回值是undefind?
https://segmentfault.com/q/1010000003762379
A页面
console.log(handleData("search_list", "http://192.168.1.11/Sueach/index", data));//undefind
// if(handleData("search_list", "http://192.168.1.11/Sueach/index", data)=="none"){
// document.querySelector(".search-error").style.display="block";
// }
js页面
请输入代码function handleData(warp, url, par) {
par.mobile = mobile;
mui.ajax(url, {
data: par,
dataType: 'json',
type: 'get',
timeout: 10000,
success: function(data) {
console.log(data.status);//为0
if (data.status == 0) {
console.log(""执行了);//执行到这
return "none";
}
handleJson(data.data, warp, par.p);
},
error: function(xhr, type, errorThrown) {
console.log(type);
}
});
}
为什么console.log输出的为undefined呢?
3 个回答
1
handleData 没有返回值默认值是undefined 我一般这样写
function handleData(warp, url, par) {
var result="";
par.mobile = mobile;
mui.ajax(url, {
data: par,
dataType: 'json',
type: 'get',
async:false,//
timeout: 10000,
success: function(data) {
console.log(data.status);//为0
if (data.status == 0) {
console.log(""执行了);//执行到这
result= "none";
return;//这里会退出success函数
}else{//这样在status!=0时才执行,
handleJson(data.data, warp, par.p);
}
},
error: function(xhr, type, errorThrown) {
console.log(type);
}
});
return result;
}
1
1)mui.ajax是个异步调用方法啊,handleData方法返回时候, mui.ajax还没执行完呢
2)handleData方法没有返回值,就返回默认的undefined
1
楼上两位都是正解,你要用返回值需要用ajax同步模式,即二楼的代码中 async:false,默认为true是异步,设为false为同步
一个方法中的ajax在success中renturn一个值,但是方法的返回值是undefind?的更多相关文章
- JavaScript 在函数中使用Ajax获取的值作为函数的返回值
解决:JavaScript 在函数中使用Ajax获取的值作为函数的返回值,结果无法获取到返回值 原因:ajax默认使用异步方式,要将异步改为同步方式 案例:通过区域ID,获取该区域下所有的学校 var ...
- 两强相争,鹿死谁手 — JQuery中的Ajax与AngularJS中的$http
一.JQuery与AngularJS 首先,先简单的了解一下JQuery与AngularJS.从源头上来说,两者都属于原生JS所封装成的库,两种为平行关系. 二.Ajax请求与数据遍历打印 这里是Aj ...
- jQuery find() 搜索所有段落中的后代 C# find() 第一个匹配元素 Func 有返回值 Action是没有返回值 Predicate 只有一个参数且返回值为bool 表达式树Expression
所有p后代span Id为 TotalProject 的 select 标签 的后代 option标签 为选中的 text using System; using System.Collections ...
- 【C/C++】高亮C++中函数的重写——函数名相同?参数列表相同?返回值相同?
C++的重载给人留下了非常深刻的影响,原因是重载的条件很值得注意:函数名相同,参数列表不相同的两个函数构成重载函数,而无关乎二者的返回值. 但是C++中的函数重写又是另一码事.标准规定:只要函数名相同 ...
- 在js中,ajax放在for中,ajax获取得到的变量有误
先看代码 for(var i=0;i<tds.length;i++){ mui.ajax(url+'api/client/gifts/isSigned', {data :{ sqId:" ...
- asp.net利用Ajax和Jquery在前台向后台传参数并返回值
1----------前台 首先需要 Jquer的包 <script src="js/jquery-1.9.1.js" type="text/javascript& ...
- 关于ajax中return并不能作为方法的返回值
接下来关于ajax中的return值最后没有办法是方法的最终返回值问题 login(username,password) { console.log("进入方法"); $.ajax ...
- ajax使用中发现的问题与深入扩展(for循环中嵌套ajax)
在学习ajax的过程中,我曾经遇到过这样的一个问题,为了得到一个详情列表,我要先向服务器去请求得到索引表,简单描述就是ajax中的success中的for循环中再次嵌套了ajax,结果第二层succe ...
- 深入理解ajax系列第九篇——jQuery中的ajax
前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而 ...
随机推荐
- android shape详解
shape--> shape属性: rectangle: 矩形,默认的形状,可以画出直角矩形.圆角矩形.弧形等 solid: 设置形状填充的颜色,只有android:color一个属性 andr ...
- osgearth+vs2010安装
转自:http://www.cnblogs.com/eaglezhao/archive/2011/09/26/2192389.html OSGEARTH + VS2010 安装 *VS 平台不重要,本 ...
- 为什么SQL语句加 1=1
是为了链接下面的查询条件条件,也或者是替换没有查询条件的语句.比如:要把检索条件作为一个参数传递给SQL,那么,当这个检索语句不存在的话就可以给它赋值为1=1.这样就避免了SQL出错,也就可以把加条件 ...
- Best Practice: Avoiding or minimizing synchronization in servlets
Introduction Minimize the use of synchronization in servlets. Because servlets are multi-threaded, s ...
- 【Tsinghua OJ】灯塔(LightHouse)问题
描述 海上有许多灯塔,为过路船只照明.从平面上看,海域范围是[1, 10^8] × [1, 10^8] . (图一) 如图一所示,每个灯塔都配有一盏探照灯,照亮其东北.西南两个对顶的直角区域.探照灯的 ...
- 【LeetCode OJ】Populating Next Right Pointers in Each Node II
Problem Link: http://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/ OK... ...
- 解决input之间的空隙
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name ...
- 图例解析四大UML关系【转】
转自http://developer.51cto.com/art/201007/209644.htm 本文和大家重点讨论一下UML关系图,UML中有五类图,共有九种图形,UML类之间的UML关系图你是 ...
- Team Foundation API - 编程访问 WorkItem
Team Foundation Server (TFS)工具的亮点之一是管理日常工作项, 工作项如Bug, Task,Task Case等. 使用TFS API编程访问TFS服务器中的工作项, 步骤如 ...
- 转:Microsoft Enterprise Library 5.0 系列教程(一) Caching Application Block (高级)
http://www.360doc.com/content/13/0918/22/15643_315482318.shtml http://www.360doc.com/content/13/0918 ...