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设置成同步方法。

原文地址:https://www.cnblogs.com/DarrenChan/p/7125722.html