js 中定义函数时怎样才能让里面的请求URL部分先执行然后返回结果?

JavaScript010

js 中定义函数时怎样才能让里面的请求URL部分先执行然后返回结果?,第1张

如果非要在一个函数里实现的话,那么是办不到的。因为ajax是异步的,当执行$.get的时候,计算机会继续执行其后的代码,与它同时发生。javascript的能力不像java和C#那样,可以有强大的异步功能,提供一个异步返回状态。在javascript中是不存在的。所以你的想法,在当前的技术范畴里,无解。使用其他算法实现你的目的吧!

以下函数可以获取url任意参数的值:

function getParams(key){

    var url = location.search.replace(/^\?/,'').split('&')

    var paramsObj = {}

    for(var i = 0, iLen = url.length i < iLen i++){

        var param = url[i].split('=')

        paramsObj[param[0]] = param[1]

    }

    if(key){

        return paramsObj[key] || ''

    }

    return paramsObj

}

可选参数key表示获取参数的名称,如果省略该参数,则会返回一个对象,包含所有参数的key和value。

JSON 字串可以包含阵列 Array 资料或者是物件 Object 资料

阵列可以用 [ ] 来写入资料

物件可以用 { } 来写入资料

name / value 是成对的,中间透过 (:) 来区隔

若回传值为:

{"net9158":{

"info":{

"error":0,

"time":3

},

"detail":{

"points":[{"lng":114.03547645,"lat":22.66128515}],

"query_status":"0",

"server_retcode":"0"

}

}

解读内容如下:

lng = data["net9158"].detail.points[0].lng

lat = data["net9158"].detail.points[0].lat