问题描述
- jquery中getScript()的用法详解,从一个远程js文件中读取数据
-
第一个html文件:<html> <head> <script type="text/javascript" src="jquery-2.1.3.js"></script> $.getScript("shuj.js",function(){alert("aaaaa");}) </head> </html>
js文件:
(function(){ var a='aaa'; var w=[]; w['杭州']= [{ s1:'多云', s2:'多云', f1:'duoyun', f2:'duoyun', t1:'12', t2:'2', p1:'3-4', p2:'3-4', d1:'北风', d2:'北风' }, { s1:'晴', s2:'多云', f1:'qing', f2:'duoyun', t1:'10', t2:'1', p1:'≤3', p2:'≤3', d1:'东北风', d2:'东北风' }, { s1:'晴', s2:'多云', f1:'qing', f2:'duoyun', t1:'11', t2:'2', p1:'≤3', p2:'≤3', d1:'北风', d2:'北风' }]; var add={ now:'2015-01-16 16:28:55', time:'1421396935', update:'北京时间01月16日08:05更新', error:'0', total:'1' }; window.SWther={ w:w, add:add }; })( );//0
请问怎么去取js里面的值展现在html中
解决方案
匿名函数,就是本地的js,在外部也取不到,更别说跨域了
解决方案二:
下载js,然后获取内容来解析
解决方案三:
SWther就是你要的数据。。这个变量是全局的
$.getScript("shuj.js",function(){
var add=SWther.add;
for(attr in add)alert(attr+'='+add[attr])
var w=SWther.w;
var arr;
for(attr1 in w){
alert(attr1);
arr=w[attr1];
for(var i=0;i<arr.length;i++)
for(attr in arr[i])alert(attr+'='+arr[i][attr])
}
})
解决方案四:
难道是我弄错了?这个就是新浪的
http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=2&city=杭州&dfc=3"
求怎么解决
解决方案五:
新浪是gb2312,最好用$.ajax,可以配置charset防止编码不一致时乱码
<script src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
<script>
$.ajax({url:'http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=2&city=杭州&dfc=',
dataType:'script',
scriptCharset :'gb2312',///////////////////
success:function(){
var add=SWther.add;
for(attr in add)alert(attr+'='+add[attr])
var w=SWther.w;
var arr;
for(attr1 in w){
alert(attr1);
arr=w[attr1];
for(var i=0;i<arr.length;i++)
for(attr in arr[i])alert(attr+'='+arr[i][attr])
}
}});
</script>
时间: 2025-01-19 11:34:37