【问题标题】:Problem accessing delicious api with ajax使用 ajax 访问美味 api 的问题
【发布时间】:2010-02-11 15:20:58
【问题描述】:

我正在使用以下 jQuery 代码来尝试访问美味的 api,但它不起作用。如果我直接转到浏览器中的 api url,它会按预期返回 xml,所以 url 是正确的。

有人知道怎么回事吗?可能是 https,但 jQuery 文档并没有明确禁止这样做。

$(document).ready(function(){
    $.ajax({
        type: 'GET',
        dataType: 'xml',
        url:"https://api.del.icio.us/v1/posts/dates",
        success: function(response) {
            console.log(response);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            console.log(textStatus);
            console.log(errorThrown);
        }
    });
});

编辑:

我收到“数据为空”错误,如果我设置数据:'',仍然会发生这种情况,并且在第一次尝试访问浏览器中的页面时,系统提示我输入用户名和密码,这似乎存储为如果我在头部包含一个带有 href="https://api.del.icio.us/v1/posts/dates" 的标签,它会下载文件 ok

【问题讨论】:

  • 请提供更多详细信息:“它不起作用”是什么意思?编辑:当我将该 URL 粘贴到浏览器中时,系统会提示我输入用户名和密码。
  • 我的第一个想法是这是一个跨域安全问题 - 您不能将 XHR 发布到与您的代码所在的域不同的域。 JSONP API 解决了这个问题,但看起来很美味并没有提供其中之一。
  • @Rufo> 好点,API 使用 cURL 显示每个示例。

标签: javascript jquery ajax https delicious-api


【解决方案1】:

正如 Sanchez 先生所指出的,您不能从您的域中托管的页面向该 API 发出 XMLHttpRequest。

也许他们有 API 的 JSONP 版本。

阅读:Get Delicious API URL Tags/Bookmarks via jQuery

【讨论】:

  • delicious 一直很懒,因为您可以通过 json 获取提要 - 最多 100 个最新项目,但不能通过完整的 API。我无法想象除了 xml 之外,他们还需要几天(小时?分钟?)工作才能创建 json 模板。谢谢你的回答
猜你喜欢
  • 1970-01-01
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多