到目前为止好像无人能摆平,服务端返回json数据,总是提示“invalid label”
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="360.css" type="text/css">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
var jq = jQuery.noConflict();
var url = "http://m.weather.com.cn/data/101010100.html?jsoncallback=?";
jq.getJSON(url,
function(data){
//alert(typeof(data));
//var json = eval('('+data+')');
//alert(typeof(data));
alert(typeof(data));
});
</script>
</head>
<body>
</body>
</html>
从中国天气网中弄个天气出来,结果在firefox中总是提示invalid label,这个怎么解决啊,现在基本可以确定编码没有问题,有返回数据!
------解决方案--------------------
------解决方案--------------------
跨域访问叫jsonp,采用动态创建script标签实现
其实就是类似:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
这样就能访问jquery.com的文件
那么这里就必须保证:文件是正确的js脚本
回头看http://m.weather.com.cn/data/101010100.html
“{ xxxxxxxxxx }”只是json数据,不是正确的js脚本。
虽然你增加了jsoncallback链接参数,但服务器返回的数据并不是
“jsoncallback({ xxxxxxxxxx })”
这种情况,你只有自己做一个代理了,通过服务器获取http://m.weather.com.cn/data/101010100.html的内容,解决跨域的问题。