我试图让 $.getJSON 回调为返回 json 而不是 jsonp 数据的 api 工作。如何改变这个工作。
$.getJSON("http://url&callback=?", function(response){ alert("hi"); });
最近,我处理了类似的问题,以使用生成 JSON 响应的 twitter API 调用获取 URL 的 twitter 计数。
查看下面的片段以供参考
<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 到底是什么?”的SO 帖子。
在 OS/400 上发出 ajax 请求时,您实际上可以使用$.ajax
or $.get
(或任何 jQuery ajax 方法),但如果您从与实际 HTTP SERVER/域不同的端口调用 RPGLE PGM,那么您必须提供?callback=?
让我们javascript引擎知道它的JSONP(我相信)。JSONP 实际上是一个 javascript 函数/包装器,它允许将数据毫无保留地传递给客户端。如果您正在使用诸如 twitter 之类的 API 来执行跨域调用,那么您最好知道提供者是 SECURE。
我在实际执行 POST 时执行 GET 得到 500 Internal Server Error,因此我调查了发出 Ajax 请求的正确方法。