Ajax的两个用法
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设置成同步方法。