使用腾讯天气异步获取天气预报
); mainBox.innerHTML = weather; }else{ mainBox.innerHTML = "加载的天气信息有误"; } }else{ mainBox.innerHTML = "没有加载到天气信息"; } }, error: function(error) { mainBox.innerHTML = "加载天气信息超时"; } }; //使用dojo的jsonp调用 dojo.io.script.get(jsonpArgs); }; dojo.addOnLoad(function(){ getNJWeather(); });
上面代码可能在实际使用的时候会有问题【在ie7及以下浏览器浏览时不正常】,因为dojo.io.script.get使用了utf-8编码,而腾讯的js使用的是gb2312编码
解决方式可以先用服务端程序去读到js,然后解析成utf-8编码,供自己调用
还可以改造dojo.io.script.get方式,使他可以使用gb2312编码的js
其实可以算是dojo的一个bug,它把编码在dojo.io.script.attach函数里面写死成了utf-8,可以重写方法把编码写成可以配置状态