2016-02-24 2 views
0

Je voudrais afficher le (résultat) du code ci-dessous en base64.Afficher BitLy URL raccourci dans Base64

Le code ci-dessous raccourcit l'URL entrée et affiche son résultat binaire, mais je veux qu'il code le résultat en base64 à la place. Par exemple, il aurait raccourci l'URL entrée en bit caché mais afficherait uniquement le résultat encodé en base64.

Par exemple, si un résultat URL raccourcie est particulièrement

http://bit.ly/url

il devrait afficher

aHR0cDovL2JpdC5seS91cmw =

j Requête

$(document).ready(function() { 

    //bit_url function 
    function bit_url(url) { 
    var url=url; 
    var username="username"; // bit.ly Api username 
    var key="BitLy Key"; //bit.ly Api key 
    $.ajax({ 
     url:"http://api.bit.ly/v3/shorten", 
     data:{longUrl:url,apiKey:key,login:username}, 
     dataType:"jsonp", 
     success:function(v) { 
     var bit_url=v.data.url; 
     $("#result").html('<a href="'+bit_url+'" target="_blank">'+bit_url+'</a>'); 
     } 
    }); 
    } 


    $("#short").click(function() { 
    var url=$("#url").val(); 
    var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 
    var urltest=urlRegex.test(url); 
    if(urltest) { 
     bit_url(url); 
    } else { 
    alert("Bad URL"); 
    } 
    }); 

}); 

HTML

Enter URL: 
<input type="text" placeholder="http://"" name="url" id="url"/> 
<input type="submit" id="short" value="Submit"/> 
<div id="result"></div> 

apprécierait toute aide.

Répondre

0

Vous devriez pouvoir utiliser btoa() pour coder les URL bit.ly. Quelque chose comme cela fonctionne:

$(document).ready(function() { 

    //bit_url function 
    function bit_url(url) { 
    var url=url; 
    var username="username"; // bit.ly Api username 
    var key="BitLy Key"; //bit.ly Api key 
    $.ajax({ 
     url:"http://api.bit.ly/v3/shorten", 
     data:{longUrl:url,apiKey:key,login:username}, 
     dataType:"jsonp", 
     success:function(v) { 
     var bit_url=v.data.url; 
     var encodedUrl = btoa(bit_url); 
     console.log(encodedUrl); 
     $("#result").html('<a href="'+bit_url+'" target="_blank">'+bit_url+'</a>'); 
     } 
    }); 
    } 


    $("#short").click(function() { 
    var url=$("#url").val(); 
    var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 
    var urltest=urlRegex.test(url); 
    if(urltest) { 
     bit_url(url); 
    } else { 
    alert("Bad URL"); 
    } 
    }); 

}); 

Plus d'informations sur le codage et le décodage base64 en JavaScript est disponible dans les développeurs docs ici: https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding

Hope that helps!

+0

Merci. Cependant, continuez à donner dW5kZWZpbmVk comme résultat dans le journal de la console. Signification "indéfini" lorsqu'il est décodé. Pouvez-vous s'il vous plaît essayer ceci sur jsfiddle? – Julius

+0

@Julius le code nécessite * votre * nom d'utilisateur bit.ly et la clé API pour fonctionner. Comme c'est le cas maintenant, il ne retournera probablement rien de significatif jusqu'à ce que cela soit changé. Je ne serai pas en mesure de le mettre dans un violon, parce que je n'ai pas vos informations API. –

+0

Je l'ai volontairement enlevé avant de poster. Je l'ai entré lors des tests et cela a certainement raccourci l'URL mais n'a pas encodé. Le résultat d'encodage était ce que j'ai posté ci-dessus. J'espérais que vous auriez une clé API et un nom d'utilisateur pour tester. – Julius