在这句里:conn.open("GET",URL,true);
最后一个参数是ture,它指定了请求是异步的。
所谓异步,就是给send()开一个新的线程,让send()独立运行,而send()的一下条语句也立即执行。
如果设为false,就是指定请求是同步的。
所谓同步,就不为send()开一个新线程,要等send()全部执行(发送请求,等待服务器返回信息并执行完onreadystatechange()函数)之后,再执行send()之后的下一条语句。
所以你上面的解决方法为:把conn.open("GET",URL,true);改为conn.open("GET",URL,false);就可以不要alert('')了。
这样就等服务器返回了信息之后,给rt赋了值,再把rt给return回去。