jquery.getJSON给出错误

时间:2012-08-18 10:15:30

标签: jquery json get

这是给出错误的代码

<script type="text/javascript">

   var reqUrl='https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff';

   $.getJSON(reqUrl,function(data) {
          alert(data);   
   }).error(function() { alert("error"); });

</script>

我浪费了几个小时,但没有成功。在浏览器中查看网址是提供有效的JSON。

我需要使用的网址是 https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff

请帮助

1 个答案:

答案 0 :(得分:0)

由于same origin policy限制,您无法发送跨域AJAX调用。根据您对远程域的控制级别,有一些变通方法。查看following guide

  • JSONP(要求您控制远程域名)
  • CORS(要求您控制远程域名)
  • 您域上的服务器端脚本桥(不要求您控制远程域)

更新:

好了,既然你已经显示了实际的url,它似乎支持JSONP。以下是如何使用它:

var reqUrl = 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/posts/slug:blogging-and-stuff?callback=?';

$.getJSON(reqUrl,function(data) {
    alert(data);   
}).error(function() { alert('error'); });

请注意我已附加到网址末尾的?callback=?参数。

这是一个现场演示:

http://jsfiddle.net/6S4TP/