1.实现的效果是:通过一个函数,里面调用Ajax,函数的返回值是Ajax成功调用之后得到的返回值。

用jQuery进行简单的演示:

function getRobotInfo(id) {
var ip;
$.ajax({
url : "/HiBotServer/api/v1/client/id/" + id,
type : "get",
dataType : "json",
async : false,
success : function(result) {
ip = result.ip;
},
error : function() {
console.log("获取ip信息失败");
}
});
return ip;
}

注意:Ajax默认是异步的,一定要设置成同步,否则取不到ip的值。因为如果设置成异步,Ajax不会等到success成功返回再往下执行,而是直接跳过去return ip了,这时ip还没有被赋值,自然就取不到了。

2.实现的效果是:两个Ajax方法有顺序的执行,一个Ajax方法需要用到另一个Ajax方法的返回值。

用jQuery进行简单的演示(和上一个方法进行结合):

function getBaseInfo(id){
$.ajax({
url : "/HiBotServer/api/v1/location/id/" + id,
type : "get",
dataType : "json",
async : false,
success : function(result) {
if(result != null) {
var longitude = result.longitude;//经度
var latitude = result.latitude;//纬度
var clientId = result.clientId;//编号
var timeUpload = result.timeUpload;//上传时间
var ip = getRobotInfo(id);
...
} else {
...
}
},
error : function() {
console.log("加载地图位置失败");
}
});
}

注意:同样需要将Ajax设置成同步方法。

Ajax的两个用法的更多相关文章

  1. JAVA EE 项目常用知识 之AJAX技术实现select下拉列表联动的两种用法(让你真正理解ajax)

    ajax 下拉列表联动的用法. ajax的定义: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的 ...

  2. Struts2实现ajax的两种方式

    基于Struts2框架下实现Ajax有两种方式,第一种是原声的方式,另外一种是struts2自带的一个插件. js部分调用方式是一样的: JS代码: function testAjax() { var ...

  3. c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast

    C++中的operator主要有两个作用,一是操作符的重载,一是自定义对象类型的隐式转换.对于操作符的重载,许多人都不陌生,但是估计不少人都不太熟悉operator的第二种用法,即自定义对象类型的隐式 ...

  4. operator 的两种用法

    C++,有时它的确是个耐玩的东东,就比如operator,它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换).1.操作符 ...

  5. Service的两种用法及其生命周期

    先来一点基础知识: Service 是android的四大组件之一,与Activity同属于一个级别,它是运行在后台进行服务的组件(例如在后台播放的音乐,播放音乐的同时并不影响其他操作).Servic ...

  6. JSP中的include的两种用法

    1.两种用法 <%@ include file=” ”%> <jsp:include page=” ” flush=”true”/> 2.用法区别 (1)执行时间上区别 < ...

  7. 子查询。ANY三种用法。ALL两种用法。HAVING中使用子查询。SELECT中使用子查询。

    子查询存在的意义是解决多表查询带来的性能问题. 子查询返回单行多列: ANY三种用法: ALL两种用法: HAVING中的子查询返回单行单列: SELECT中使用子查询:(了解就好,避免使用这种方法! ...

  8. Comparable和Comparator的区别&Collections.sort的两种用法

    在Java集合的学习中,我们明白了: 看到tree,可以按顺序进行排列,就要想到两个接口.Comparable(集合中元素实现这个接口,元素自身具备可比性),Comparator(比较器,传入容器构造 ...

  9. in有两种用法:

    # in有两种用法: 1. 在for中. 是把每一个元素获取到赋值给前⾯的变量. 2. 不在for中. 判断xxx是否出现在str中. #len() 为内置函数,输出为1,2,3,4....., 长度 ...

随机推荐

  1. Cognos清除本地高速缓存的利与弊

    场景:在开发报表初期,往往我们遇到过这种问题,我们手工修改了DB中的测试数据,但是返回报表看,数据还没有更新,难道是设计出问题了?NO,不要慌,这是因为Cognos为了查询效率设计了高速缓存的选项. ...

  2. getActivity nullPointerException

    今天突然出现一个问题. Fragment中getActivity突然不能了,会出现空指针问题.最后也不知道是什么原因引起的. 解决的方法: @Override public void onAttach ...

  3. C#基础视频教程5.2 如何编写简单的超级热键

    我们前面已经理解了如何使用官方的代码实现鼠标键盘的监控,其实还差一点,因为他的代码只能捕捉单个的按键,而其实我们要的是组合键.什么是组合键呢?比如我想定义同时按下WIN+C是去执行屏幕截图.这只要理解 ...

  4. Hadoop之MapReduce命令

    概述 全部的Hadoop命令都通过bin/mapred脚本调用. 在没有不论什么參数的情况下.执行mapred脚本将打印该命令描写叙述. 使用:mapred [--config confdir] CO ...

  5. Android Studio 怎样打开两个项目?

    欢迎转载: 请注明 原创Url

  6. 引用、数组引用与指针引用、内联函数inline、四种类型转换运算符

    一.引用 (1).引用是给一个变量起别名 定义引用的一般格式:类型  &引用名 = 变量名: 例如:int a=1;  int  &b=a;// b是a的别名,因此a和b是同一个单元 ...

  7. node定时任务——node-schedule模块使用说明

    在实际开发项目中,会遇到很多定时任务的工作.比如:定时导出某些数据.定时发送消息或邮件给用户.定时备份什么类型的文件等等. 一般可以写个定时器,来完成相应的需求,在node.js中自已实现也非常容易, ...

  8. connect: Network is unreachable解決方法

    connect: Network is unreachable解決方法   解決方式:請確認ifcfg-eth0檔案設定 指令如下:   vi /etc/sysconfig/network-scrip ...

  9. [Jobdu] 题目1384:二维数组中的查找

    题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 输入: 输入可能包含 ...

  10. PCI-Express协议传输层读书笔记

    http://www.doczj.com/doc/35cb19633169a4517723a3d9-9.html