4 Stimmen

TinyUrl in Javascript erhalten

function ShortUrl(bigurl)
{
$.getJSON(
  "http://tinyurl.com/api-create.php",
   url: 'http://dfsghdsvfbjvjd.com',
  function(data){
   alert(data);
  });
}

Nicht funktioniert

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

                     });

Dieser Aufruf funktioniert auch nicht. Versuchte verschiedene Aufrufe, aber bekomme keine tinyurl.

4voto

thibauts Punkte 1638

Die von Ihnen verwendete API gibt die verkürzte URL nicht als JSON zurück, sondern als reinen Text. Und es gibt keine Möglichkeit, Textdaten aus einer anderen Domain (hier tinyurl) mit einem AJAX-Aufruf abzurufen. Siehe same origin policy.

Wenn Sie nur eine URL clientseitig verkürzen möchten, verfügt bit.ly über eine API, die JSONP unterstützt.

$.getJSON('http://api.bitly.com/v3/shorten?callback=?',
    {
        format: "json",
        apiKey: IHR_API_KEY,
        login: IHR_LOGIN,
        longUrl: "http://link.to.be/shortened"
    },
    function(response) {
        console.log(response.data.url);
    }
);

2voto

K-Gun Punkte 10609

Sie benötigen nicht $.getJSON mit diesem API-Link wie: http://tinyurl.com/api-create.php?url=google.com. Weil es die Kurz-URL als reinen Text zurückgibt.

Also denke ich, dass dies ausreichen würde:

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

Siehe: http://api.jquery.com/jQuery.get/

1voto

abmap Punkte 91

Das direkte Aufrufen der TinyUrl-API im Browser würde zu einem CORS-Problem führen, eine Möglichkeit zur Umgehung besteht darin, den cors-anywhere-Dienst zu verwenden. Ich verwende normalerweise das tinyurl-client npm-Paket, um URLs im Browser zu verkürzen, hier ist wie man es benutzt

  1. Installiere es in deinem Terminal

    npm install @kulkul/tinyurl-client

  2. Verwende es in deinem JavaScript

    import shortenUrl from "@kulkul/tinyurl-client";

    shortenUrl("https://kulkul.tech").then((result) => { console.log({ result }); // https://tinyurl.com/ });

P.S. Ich bin der Schöpfer des npm-Pakets, wenn Sie irgendwelche Probleme haben, können Sie diese hier posten https://github.com/kulkultech/tinyurl-client

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X