日期:2014-05-16  浏览次数:20428 次

JQuery ajax json怎样 获取外网数据
下面这种写法对吗?应该怎么写?望大神指点!!

$(function(){

     $.ajax({
        type:"post",
        url:"http://m.weather.com.cn/data/101010100.html", //中央台天气预报
        dataType:"json",
        success:function(data){
           var test = eval(data); 
           alert(1);   //这个都没有反应啊T_T 
            alert(test.weatherinfo.city);
        }
     });
})
json jquery ajax javascript

------解决方案--------------------
引用:
下面这种写法对吗?应该怎么写?望大神指点!!
JavaScript code?12345678910111213$(function(){      $.ajax({        type:"post",        url:"http://m.weather.com.cn/data/101010100.html", //中央台天气预报        dataTyp……

跨域使用jsonp吧
如下

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>注册</title>     
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type ="text/javascript" src="jquery.js"></script>    
</head>
<body>
<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>?? 
<div id="content">?? 
????????????
????????
</div>?? 
?? <script>
$(function(){?? 
????$.getJSON("http://query.yahooapis.com/v1/public/yql", {?? 
????q: "select * from json where url='http://m.weather.com.cn/data/101010100.html'",?? 
????format: "json"?? 
}, function(data) {?? 
????var $content = $("#content")?? 
????if (data.query.results) {??
var result = JSON.stringify(data.query.results);
????????$content.text(result);??
var obj = eval('('+result+')');
alert(obj.weatherinfo.city);
????} else {?? 
????????$content.text('no such code: ' + code);?? 
????}?? 
});?? 
????????
});
</script>

</body>
<script>



</script>
</html>

------解决方案--------------------
跨域了你那个页面,又没提供jsonp回调,只能做代理
------解决方案--------------------
代理要用服务器支持的,代理页面用服务器端的xhr对象捉去远程数据分析后输出,ajax请求这个代理页面,参考这个:使用新浪天气预报接口获取天气预报信息
------解决方案--------------------
还有一个比较不严谨的做法。

自己写个servlet,然后用URL类,解析你那个页面的所有元素。

把想要数据解析出来。

前台ajax调自己这个servlet。
------解决方案--------------------