我目前很难弄清楚如何在我的javascript中将函数值从函数传递到另一个函数。正如你在这里看到的,我正在运行。我想知道如何将结果从get_short_url
函数传递给openTwitter
函数。
基本上short_url
中的console.log
包含我需要转移到openTwitter
函数的值
var login = "username";
var api_key = "api_key";
var long_url = "http://www.kozlenko.info";
function get_short_url(long_url, login, api_key, func) {
$.getJSON(
"http://api.bitly.com/v3/shorten?callback=?",
{
"format": "json",
"apiKey": api_key,
"login": login,
"longUrl": long_url
},
function(response)
{
func(response.data.url);
}
);
}
get_short_url(long_url, login, api_key, function(short_url) {
console.log(short_url)
});
function openTwitter(url) {
var url = 'https://twitter.com/intent/tweet?text= PLACE short_url value here,
win = window.open(url, '_blank');
win.focus();
}
$('#twitter').on('click', function() {
openTwitter();
});
答案 0 :(得分:0)
从openTwitter
的回调中调用get_short_url
。
var login = "username";
var api_key = "api_key";
var long_url = "http://www.kozlenko.info";
function get_short_url(long_url, login, api_key, func) {
$.getJSON(
"http://api.bitly.com/v3/shorten?callback=?",
{
"format": "json",
"apiKey": api_key,
"login": login,
"longUrl": long_url
},
function(response)
{
func(response.data.url);
}
);
}
function openTwitter(short_url) {
var url = 'https://twitter.com/intent/tweet?text=' + short_url,
win = window.open(url, '_blank');
win.focus();
}
$('#twitter').on('click', function() {
get_short_url(long_url, login, api_key, openTwitter);
});