【发布时间】:2011-12-31 03:14:08
【问题描述】:
这快把我逼疯了。我编写了一个 php api 文件并将其存储在我的服务器上。当我直接运行 url 时,JSON 结果完美地回显到屏幕上,没有问题。但是,当我尝试从另一个域(例如跨域)访问结果时,我无法获得要显示的值。屏幕仍然是空白的。我希望这是有道理的。我想知道我下面的 javascript 调用是否有问题。这真的变成了皇家的痛苦。
任何帮助将不胜感激。
以下代码:
注意: //JSON 结果的示例 { “名称”:“约翰·多伊”, "url": "http://www.adomain.com", "created": "A DATE HERE" }
<!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 ">
<html>
<head>
<title>API JSON Test</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
var timeService = "http://api.MYDOMAIN.com/api.php?
key=abc&num=1&format=json&callback=?";
$.getJSON(timeService, function(data) {
$('showdata').html("<p>ulore="+data.name+" url="+data.url+" created="+data.created+"
</p>");
});
});
</script>
<div id="showdata"></div>
</body>
</html>
我非常感谢任何可以提供帮助的回复。这对我来说很奇怪。在我的远程服务器上,一切都很好。我已成功将其编码为 JSONP 并获得有效结果。但是,每次我尝试访问 JSONP 结果时——无论是从同一个域还是通过跨域,屏幕都是空白的。我已经尝试了 100 万种不同的东西,并且已经做了几天了。我一直在阅读论坛等,似乎没有其他人有这种问题,而不是我遇到的程度。请注意,下面是 JSONP 的样子:
?({"posts":[{"post":{"name":"Mike
Jones","url":"http:\/\/aweburl.com","timestamp":"2011-12-08 09:48:04"}}]});
我这辈子都想不通。
【问题讨论】:
标签: javascript json cross-domain jsonp