我试图让$.getJSON调用重新用于返回json而不是jsonp数据的api。如何改变它以工作。
$.getJSON("http://url&callback=?", function(response){ alert("hi"); });
最近,我处理了类似的问题,以使用生成 JSON 响应的推特 API 调用获取 URL 的推特计数。
查看下面的代码片段以供参考
<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>
我希望它对您也有帮助:)
JSONP 不是一种数据类型。如果您想了解有关JSONP的更多信息,请阅读这篇名为"JSONP到底是什么?
在 OS/400 上发出 ajax 请求时,您实际上可以使用 $.ajax
或 $.get
(或任何 jQuery ajax 方法),但是如果您从与实际 HTTP 服务器/域不同的端口调用 RPGLE PGM,那么您必须提供?callback=?
方法,让 javascript 引擎知道它的 JSONP(我相信)。JSONP实际上是一个javascript函数/包装器,它允许将数据毫无保留地传递给客户端。如果您使用的是 twitter 等 API 来执行跨域调用,那么您最好知道提供商是安全的。
我在实际执行 POST 时执行 GET 时遇到 500 内部服务器错误,因此我研究了发出 Ajax 请求的正确方法。