1
$(document).ready(function() {

$.getJSON('https://jira.atlassian.com/rest/api/latest/project?callback=?', function(data) {
    console.log("success");
});
});

为什么这段代码不起作用?它在浏览器中也没有给出错误。但是如 Inspect Element 工具所示,项目文件正在 Chrome 中作为脚本下载。如何从文件中获取数据?

4

3 回答 3

1

看起来 Atlassian 使用jsonp-callback而不是callback作为 JSONP 回调的查询字符串中的参数。

见这里

于 2013-02-11T18:22:16.057 回答
1

我建议您使用jQuery.ajax API配置您的 JSONP 调用,例如:

$(function() {
  $.ajax({
    type: "GET",
    url: "https://jira.atlassian.com/rest/api/latest/project",
    dataType: "jsonp",
    jsonp: "jsonp-callback",
    data: { /* additional parameters go here */ }
  }).done(function(data) {
    console.log("success");
  });
});

该选项jsonp将 JSONP 回调参数重命名为 API 建议的 @mccannf。

于 2013-02-11T18:31:00.477 回答
0

此外,为了将来参考,您可能会考虑使用 jqXHR 对象来添加错误处理功能,这样您就可以判断 JSON 请求是否失败。请参阅 jQuery 的参考 ( http://api.jquery.com/jQuery.getJSON/ )

$(document).ready(function() {
    var jq = $.getJSON('https://jira.atlassian.com/rest/api/latest/project?callback=?',
              function(data) {
                console.log("success");
              })
    .error(function() { console.log("error occurred"); });
});
于 2013-02-11T18:37:05.970 回答