如何从api返回json而不是jsonp数据获取数据时获取$ .getJSON回调

时间:2012-11-22 12:53:39

标签: jquery json jsonp

我试图让$ .getJSON回调用于返回json而不是jsonp数据的api。如何改变这一点。

$.getJSON("http://url&callback=?", function(response){ alert("hi");  });

2 个答案:

答案 0 :(得分:2)

最近我处理了类似的问题,使用Twitter API调用来获取URL的twitter数量,这会产生JSON响应。

查看下面的代码段以供参考

<script type="text/javascript">
 $(document).ready(function () {
     var url = "http://www.google.com/"; //test url 
     $.getJSON('http://urls.api.twitter.com/1/urls/count.json?url=' + url + '&callback=?', function (data) {
                   console.log(data);
                });
});
</script>

我希望它对你也有用:)

答案 1 :(得分:0)

JSONP不是数据类型。如果您想了解有关JSONP的更多信息,请阅读这篇名为"What is JSONP all about?"

的帖子

在OS / 400上发出ajax请求时,实际上可以使用$.ajax$.get(或任何jQuery ajax方法)但是如果从不同的端口调用RPGLE PGM实际的HTTP SERVER / Domain然后你必须提供?callback=?方法让javascript引擎知道它的JSONP(我相信)。 JSONP实际上是一个javascript函数/包装器,它允许将数据传递给客户端而无需任何保留。如果您正在使用诸如twitter之类的API来执行跨域调用,那么您知道提供商是安全的。

我在实际执行POST时通过执行GET获得了500内部服务器错误,因此我调查了正确的方式来发出Ajax请求。