我想在base64中显示以下代码的(结果)。
下面的代码缩短了输入的 url 并显示其位结果,但我希望它改为在 base64 中编码结果。
即它会将输入的 url 缩短为隐藏中的位,但只会显示 base64 编码的结果。
例如,如果特定的缩短网址结果是
http://bit.ly/url
它应该显示
aHR0cDovL2JpdC5seS91cmw=
jQuery
$(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>
将不胜感激任何帮助。
能够使用btoa()
对 bit.ly 网址进行编码。 这样的东西会起作用:
$(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");
}
});
});
有关在 JavaScript 中编码和解码 base64 的更多信息,请参阅此处的开发人员文档:https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
希望对您有所帮助!