我想在base64中显示以下代码的(结果)。
下面的代码缩短了输入的url并显示了它的结果,但我想让它在base64中对结果进行编码。
即它会将输入的网址缩短为隐藏状态,但只会显示base64编码结果。
例如,如果特定缩短的网址结果是
应该显示
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>
感谢任何帮助。
答案 0 :(得分:0)
您应该可以使用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
希望有所帮助!