在我的JS中,我正在向bit.ly api发送一个get请求,以缩短URL。问题是我需要返回代码中使用的URL。
为此最好使用同步请求吗?就目前情况而言,使用bit.ly的XHR请求之后的任何代码都将失败,因为响应尚未返回短URL。
bitlyXHR.onreadystatechange = function() {
if (bitlyXHR.readyState == 4) {
if (bitlyXHR.status == 200) {
var obj = JSON.parse(bitlyXHR.responseText);
// Do something
}
}
};
bitlyXHR.open("GET", "http://api.bitly.com/v3/shorten?login=&apiKey=&longUrl=" + longURL + "&format=json");
bitlyXHR.send();
// Some code here that uses the short URL
最佳答案
您可以执行以下操作:
function doSomething(obj) {
// this does something with the result.
}
bitlyXHR.onreadystatechange = function() {
if (bitlyXHR.readyState == 4) {
if (bitlyXHR.status == 200) {
var obj = JSON.parse(bitlyXHR.responseText);
doSomething(obj);
}
}
};
bitlyXHR.open("GET", "http://api.bitly.com/v3/shorten?login=&apiKey=&longUrl=" + longURL + "&format=json");
bitlyXHR.send();