javascript - 为什么我无法使用 jQuery 的 $.get 函数从 JavaScript 调用 bit.ly API?

标签 javascript jquery api bit.ly

我尝试使用此 jQuery 脚本调用 bit.ly API:

$.get('http://api.bit.ly/shorten?login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07&version=2.0.1&longUrl=www.wordpress.com', function(data) {
    alert(data);
});

但是 Firebug 说“405 Method Not allowed”。怎么了?非常感谢。

最佳答案

正如已经提到的,标准 AJAX 调用不能跨域工作。只需使用 JSONP 和 $.getJSON() 即可。

以下是如何使用 Bitly API 和 jQuery 获取缩短 URL 的示例:

function get_short_url(long_url, login, api_key, func)
{
    $.getJSON(
        "http://api.bitly.com/v3/shorten?callback=?", 
        { 
            "format": "json",
            "apiKey": api_key,
            "login": login,
            "longUrl": long_url
        },
        function(response)
        {
            func(response.data.url);
        }
    );
}

以下代码可用于获取短 URL:

/*
Sign up for Bitly account at
 https://bitly.com/a/sign_up

and upon completion visit
https://bitly.com/a/your_api_key/ 
to get "login" and "api_key" values
*/
var login = "LOGIN_HERE";
var api_key = "API_KEY_HERE";
var long_url = "http://www.kozlenko.info";

get_short_url(long_url, login, api_key, function(short_url) {
    console.log(short_url);
});

关于javascript - 为什么我无法使用 jQuery 的 $.get 函数从 JavaScript 调用 bit.ly API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992298/

相关文章:

api - 使用类似于 Twitter 的 API 克隆 Twitter?

api - YouTube API - 按发布日期查询

javascript - 混音 : middleware pattern to run code before loader on every request?

jquery - 无法运行两个不同的动画功能

javascript - JSZip 创建损坏的 JPG 图像

javascript - 如何使增加数字动画仅在滚动时起作用

jquery - 使用 jQuery 通过 .ajax() 传递 JSON

java - Hadoop 不产生任何输出

javascript - 为什么这不是四舍五入(Javascript)?

javascript - 使用空返回数组重新组织数组