$(document).ready(function() {
$.getJSON('https://jira.atlassian.com/rest/api/latest/project?callback=?', function(data) {
console.log("success");
});
});
为什么这段代码不起作用?它在浏览器中也没有给出错误。但是如 Inspect Element 工具所示,项目文件正在 Chrome 中作为脚本下载。如何从文件中获取数据?
$(document).ready(function() {
$.getJSON('https://jira.atlassian.com/rest/api/latest/project?callback=?', function(data) {
console.log("success");
});
});
为什么这段代码不起作用?它在浏览器中也没有给出错误。但是如 Inspect Element 工具所示,项目文件正在 Chrome 中作为脚本下载。如何从文件中获取数据?
看起来 Atlassian 使用jsonp-callback
而不是callback
作为 JSONP 回调的查询字符串中的参数。
见这里。
我建议您使用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。
此外,为了将来参考,您可能会考虑使用 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"); });
});