猿问

如何return responseText的值?

https://img3.mukewang.com/5cb298bb0001b66e08000304.jpg

上图说明obj对象取到了responseText的值。

https://img.mukewang.com/5cb298be000175fd05430414.jpg

https://img4.mukewang.com/5cb298c600019c2a08000460.jpg

但这样做为什么不能返回值??


慕斯王
浏览 554回答 2
2回答

杨魅力

ajax是异步,你后面那么做,还没执行回调函数获取responseText,obj是取不到值的。//好像这样表述不对,要取到值,最好是在确认回调执行了才好。另外,你写的return是在一个function里面,return不到外部去的。

慕码人2483693

且不说你的异步就不能这样返回值,你的return返回很明显是xmlhttp.onreadystatechange的值,而不是你的loadXMLDoc函数的值。针对异步的问题你要学会使用回调函数。回调函数给我的感觉就是一个一个函数往里面套,我给你写个例子:function loadXMLDoc(callback) {    callback = callback || function() {};    ...... //这里是xmlhttp的一些定义    xmlhttp.onreadystatechange = function() {        if(xmlhttp.readyState == 4 && xmlhttp.status == 200)             callback(JSON.parse(xmlhttp.responseText));    }    ...... //这里是xmlhttp的其它操作}loadXMLDoc(function(res){    document.write(res[1].week);});
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答