菜鸟在这里。我不能不让我的警报显示此代码。有人可以指出我正确的方向,以便从 json 提要中拉取吗?提前谢谢。
<html>
<head>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"> </script>
<title>Test</title>
</head>
<body>
<script type="text/javascript">
jQuery.getJSON("http://api.shoplocal.com/api/2012.1/json/getpromotions.aspx?campaignid=86107c2cdcc39561&citystatezip=46225" + "&campaignid=", function(feed) {
alert("Symbol: " + feed.content.collection.data.image);
});
</script></body>
</html>
这是 JSON:
{
"content": {
"collection": {
"data": {
"code": "RC-130127",
"customimagedescription": "",
"customimagelocation": "",
"displayorder": "0",
"featuredpromotion": "N",
"identifier": "01/27 Circular",
"image": "http://akimages.shoplocal.com/dyn_rppi/140.0.90.0/RobertsCamera/large/130127_Pg1_cqu82.jpg",
"postenddate": "2/2/2013 12:00:00 AM",
"poststartdate": "1/27/2013 12:00:00 AM",
"previewenddate": "",
"previewstartdate": "",
"promotionchildtypeid": "",
"promotionchildtypename": "",
"promotionid": "85347",
"promotionmessage": "",
"retailerid": "12847",
"retailername": "Roberts Camera",
"saleenddate": "2/2/2013 12:00:00 AM",
"salestartdate": "1/27/2013 12:00:00 AM",
"tag": "RC-130127",
"title": "01/27 Circular",
"typeid": "1",
"vo": "promotion"
},
"vo": "promotion"
},
"date": "1/30/2013 12:28:52 PM"
}
}
将&callback=?
添加到 URL 末尾以触发 JSONP,否则将收到 XMLHttpRequest 跨域错误:
$.getJSON("http://api.shoplocal.com/api/2012.1/json/getpromotions.aspx?campaignid=86107c2cdcc39561&citystatezip=46225&campaignid=&callback=?",
function(feed) {
alert("Symbol: " + feed.content.collection.data.image);
});
有关更多信息,请参阅 getJSON 文档的 JSONP 部分。
我也刚刚注意到你正在拉入jQuery v1.3.2。此解决方案可能不适用于较旧的版本,但适用于较新的版本。
由于安全原因,您无法在应用程序域之外使用 Ajax 功能(getJSON、ajax、post、get)调用资源。
查看您的 JavaScript 控制台以查看问题。
如何在jquery中调用外部url?
此链接将澄清所有内容。
http://en.wikipedia.org/wiki/Same_origin_policy
请参阅我对相关问题的回答,以了解为什么您不应该考虑将 JSONP 与所谓的"RESTful"API 一起使用的详细信息。简而言之,请改用 CORS。