获取Javascript中的TinyUrl

获取Javascript中的TinyUrl,javascript,Javascript,不起作用 function ShortUrl(bigurl) { $.getJSON( "http://tinyurl.com/api-create.php", url: 'http://dfsghdsvfbjvjd.com', function(data){ alert(data); }); } 这个电话也不起作用。 尝试了各种调用,但没有得到tinyurl。您不需要$。getJSON与此api链接类似:。因为它以纯文本形式返回短url 因此,我认为这就足够了: $[

不起作用

function ShortUrl(bigurl)
{
$.getJSON(
  "http://tinyurl.com/api-create.php",
   url: 'http://dfsghdsvfbjvjd.com',
  function(data){
   alert(data);
  });
}
这个电话也不起作用。
尝试了各种调用,但没有得到tinyurl。

您不需要
$。getJSON
与此api链接类似:。因为它以纯文本形式返回短url

因此,我认为这就足够了:

$['getJSON']('http://tinyurl.com/api-create.php?url=http://xxxxxxx.com/', function (a) {
                         h = a;
alert (h);

                     });

请参阅:

您使用的API不是以JSON的形式返回缩短的URL,而是以纯文本的形式返回。而且没有办法通过AJAX调用从另一个域(这里是tinyurl)提取纯文本数据。看

如果您只想缩短一个URL客户端,那么就需要一个支持JSONP的API

$.get("http://tinyurl.com/api-create.php?url=google.com", function(shorturl){
    alert(shorturl)
});

直接在浏览器中调用TinyUrl API会导致CORS问题,解决方法之一是使用CORS anywhere服务。我通常使用
tinyurlclient
npm包来缩短浏览器上的url,下面是如何使用它

  • 将其安装到终端中
  • npm安装@kulkul/tinyurl客户端
    
  • 在javascript上使用它
  • 从“@kulkul/tinyurl-client”导入shortenUrl;
    短小的https://kulkul.tech)然后((结果)=>{
    console.log({result});//https://tinyurl.com/
    });
    

    另外,我是npm软件包的创建者,如果您有任何问题,可以在此处发布

    TinyURL不支持JSONP
    url:'http://dfsghdsvfbjvjd.com“
    是一个语法错误。可能是由于跨站点脚本策略造成的。见此:[[1]:如果在用户的浏览器和目标域上都没有实现,这将中断。我已经使用它数十亿次了,没有任何问题。它只是通过GET请求纯文本并获得纯文本结果。就是这样。这很奇怪。我听说的同一来源策略的唯一例外是Firefox中的web字体。你可能有一些调整我告诉过你浏览器的安全性,或者有些东西我绝对不明白。仅供参考,我只是在chrome控制台(在SO的上下文中)上尝试了它,但它断了。事实上,当我尝试此操作时,我收到浏览器错误“请求的资源上不存在“Access Control Allow Origin”头。”这不是没有解释的否决票,而是你的解释。值得更多的支持。关于CORS问题,你是正确的,不幸的是,CORS anywhere已经关闭。
    $.getJSON('http://api.bitly.com/v3/shorten?callback=?',
        {
            format: "json",
            apiKey: YOUR_API_KEY,
            login: YOUR_LOGIN,
            longUrl: "http://link.to.be/shortened"
        },
        function(response) {
            console.log(response.data.url);
        }
    );