读取远程的Json内容不行,读取本地的却可以.内容一样的

呆子罗 2014-02-12 02:45:44
我想获取用户浏览我网站的痕迹,比如IP、国家、地区等,于是我调用了新浪提供的API:
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json

直接打开这个链接得到的是一串json格式的数据,但调用jquery的getJson解析不了。
把这段json数据保存到本地却可以解析,这是为何?你们可以直接复制我的代码运行,在弄个json文件
下面的js函数结构一样,只是var url值不同和方法名不同

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
function LocalDB()
{
var info = "";
//本地json文件
var url= "addr.json";
$.getJSON(url, function (data) {

$.each(data, function (i,item) {
info += item["country"] + "<br>";
info += item["province"] + "<br>";
info += item["city"] + "<br>";
});

$("#jsonText").append("本地Json文件:<br>"+info);
});
}
function WebDB()
{
var info = "";
//远程json
var url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json";
$.getJSON(url, function (data) {

$.each(data, function (i, item) {
info += item["country"] + "<br>";
info += item["province"] + "<br>";
info += item["city"] + "<br>";
});

$("#jsonText").append("远程Json文件:<br>" + info);
});
}

</script>
</head>
<body>
<button onclick="LocalDB()">LocalDB</button>
<button onclick="WebDB()">WebDB</button>
<hr />
<div id="jsonText">

</div>
</body>
</html>

...全文
235 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
呆子罗 2014-02-12
  • 打赏
  • 举报
回复
引用 2 楼 webdiyer 的回复:
跨域权限问题,我碰到过,要么用jsonp,要么在自己的服务器端获取json并重新封装一下调用,就相当于本地了
恩,谢谢了!我将它直接存到数据库在后台调用解析
lyx266 2014-02-12
  • 打赏
  • 举报
回复
不能跨域获取数据
webdiyer 2014-02-12
  • 打赏
  • 举报
回复
跨域权限问题,我碰到过,要么用jsonp,要么在自己的服务器端获取json并重新封装一下调用,就相当于本地了
fenlix 2014-02-12
  • 打赏
  • 举报
回复

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧