难以在 HTML 中显示 JSONP 结果



这让我发疯了。我写了一个php api文件并将其存储在我的服务器上。当我直接运行 url 时,JSON 结果会完美地回显到屏幕上,没有问题。但是,当我尝试从另一个域(例如跨域(访问结果时,我无法显示值。屏幕仍然是空白的。我希望这是有道理的。我想知道下面的javascript调用是否有问题。这真的成了皇室的痛。

任何帮助将不胜感激。

下面的代码:

注意:JSON 结果的外观示例 { "名称": "约翰·多伊", "网址": "http://www.adomain.com", "创建":"这里的日期" }

<!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"}}]}); 

对于我的生活,我无法弄清楚这一点。

选择器showdata将匹配您想要<showdata> #showdata

您可能应该使用开发人员插件或例如 Fiddler 收听浏览器发送的 HTTP 请求。通常,您会看到 HTTP 响应代码,这些代码可能会告诉您更多只是空白屏幕:)例如,可能是授权问题。

将 HTML 附加到结果时出现问题。
它应该是这样的:

$.getJSON(timeService, function(data) {
$('#showdata').html("<p>ulore="+data.name+" url="+data.url+" created="+data.created+"   
</p>");

尝试使用此语法。.

谢谢

好的,我知道了。 我发现了问题。如果你们还记得我发布的 JSONP 结果......好吧,我的JavaScript代码是有缺陷的。经过一番检查,我更改为以下内容....

我的变量不正确。例如,我从data.url更改为date.post.url,它就像一个魅力。这几天我学到了很多东西。再次感谢您的所有帮助。:)

$.getJSON(timeService, function(data) {  
  $('#showdata').html("<p>ulore="+data.post.ulore+" url="+data.post.url+
  "created="+data.post.created+"</p>");
});

相关内容

  • 没有找到相关文章

最新更新