我试图让$ .getJSON回调用于返回json而不是jsonp数据的api。如何改变这一点。
$.getJSON("http://url&callback=?", function(response){ alert("hi"); });
答案 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请求。