Bitly API - 如何缩短纯javascript的链接,没有可用的库(甚至不是jquery)

时间:2015-01-31 19:33:40

标签: javascript jquery ajax json bit.ly

下面是使用jquery + javascript和Bitly的API来缩短链接的工作代码(当你有一个带有登录和API密钥的Bitly帐户时)。

我的问题是,如何只使用没有其他库的纯javascript来生成完全相同的结果?

非常感谢能帮助我的人。

修改 这个问题还没有答案(建议的答案根本不相关),因为具体如此。此外,不能引用DOM,因为这是针对服务器端代码的。因此,建议的重复问题中的每个答案都不起作用。请不要将其标记为重复。

我相信这样做的方法是使用xmlhttprequest,但我完全不知道如何......

再次感谢。

var login = "LOGIN_HERE";
var api_key = "API_KEY_HERE";
var long_url = "http://www.kozlenko.info";
$.getJSON(
    "http://api.bitly.com/v3/shorten?callback=?", 
    { 
        "format": "json",
        "apiKey": api_key,
        "login": login,
        "longUrl": long_url
    },
    function(response)
    {
        alert('Shortened link is: ' + response.data.url);
    }
);

1 个答案:

答案 0 :(得分:1)

Javascript库使用XMLHttpRequest对象进行ajax调用。您可以使用此对象进行调用。我快速搜索了一个:

var xmlhttp = new XMLHttpRequest();
var url = "buildTheURLHere.com";

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var jsonObj = JSON.parse(xmlhttp.responseText);
        alert('Shortened link is: ' + jsonObj.url);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();

资料来源:
http://www.w3schools.com/json/json_http.asp
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

但你真的在谈论node.js吗?您在帖子中提到了有关服务器端代码的内容。如果是这样,http.request将是您最好的选择。

的NodeJS:
http://nodejs.org/api/http.html#http_http_request_options_callback
How to make external HTTP requests with Node.js