jquery方法$.ajax获取的url为html时,无法返回数据?

代码为$.ajax({url:"http://www.weather.com.cn/data/sk/101280601.html",type:"GET",success:... 代码为

$.ajax({
url: "http://www.weather.com.cn/data/sk/101280601.html",
type: "GET",
success: function(data){
var oD = eval('('+data+')');
var $temp = $('.temp');
$temp.html(oD["weatherinfo"]["temp"] + "°C");
//alert(1);
}
});
如何读取html里的json数据呢?
展开
 我来答
沧桑的glans
2014-08-29 · TA获得超过297个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:158万
展开全部
写在这里面干嘛。直接写在service里。直接访问这个地址得到string转成xml。得到你要的。就可以了

你这是天气预报webservice吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丰鸿福71
2014-08-29 · TA获得超过312个赞
知道小有建树答主
回答量:409
采纳率:85%
帮助的人:235万
展开全部
这样请求是跨域了,所以没返回数据。
更多追问追答
追问
怎么解决跨域问题呢
追答

可以通过 php的curl扩展来实现,请确认服务器已经打开了curl扩展,具体的实现代码请参考以下例子:

   /**
     * 接口Get调用
     * @param    string    $url        URL地址
     * @param    integer    $timeout    超时时间
     * @return    all
     */
     
    function requestGet($url, $timeout = 1) {
        if(!function_exists('curl_init')) return false;
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
   $result = requestGet("http://www.weather.com.cn/data/sk/101280601.html");
   var_dump($result);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuebaotuxi
2014-08-29 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4196
采纳率:85%
帮助的人:1040万
展开全部
data里面有东西吗,alert()一下看看
追问
现在就是data获取不到东西,alert了没有反应
追答
ajax默认不能跨域访问,也就是不能访问本网站以外的其他站点,可以参考使用jsonp解决,具体收一下jsonp相关的知识,对于这方面我也不是太了解,只听过“燕十八讲得ajax视频教程”那里讲解有关这方面的东西,具体我还没有去实践过
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式