批量URL扩展代码
问题描述:
我试图用计算器用户duotrigesimal批量URL扩大,这是粘贴下面批量URL扩展代码
var tests = [
'http://t.co/NJwI2ugt',
'http://www.google.com',
'http://www.goo.com',
'http://www.goog.com'
];
for (i in tests) {
var data = {
url: tests[i],
format: 'json'
};
$.ajax({
dataType: 'jsonp',
url: 'http://api.longurl.org/v2/expand',
data: data,
success: function (response) {
$('#output').append(response['long-url']+ '<br>');
}
});
}
在这种情况下使用上的jsfiddle创建的代码,它需要这四个网址,并给出了如输出他们的扩展版本。但是,只有在成功时才会这样做。在上述4个URL中,第1,第2和第4个解析为正确的URL并显示在输出中,但第3个,这是错误,完全被代码忽略。遇到错误时,我希望代码显示错误消息,或者至少只是通过生成换行符并继续前进来跳过。否则,我会输入4个缩短的URL,并将其作为输出3,我不知道哪个是错误。有人可以帮忙吗?
答
看起来longurl api的超时时间很长,所以我们必须自己设定一个更合理的超时值。此示例已将其设置为3秒,但您可以根据需要进行调整。
然后,我们只是检查响应是否超时并采取相应措施。这个是jsFiddle。
var tests = [
'http://t.co/NJwI2ugt',
'http://www.google.com',
'http://www.asdkofhakisgjhasfjhbvasfdv.com',
'http://www.goog.com'
];
for (i in tests) {
var data = {
url: tests[i],
format: 'json'
};
$.ajax({
dataType: 'jsonp',
url: 'http://api.longurl.org/v2/expand',
data: data,
timeout: 3000,
complete: function (response) {
if(response.statusText == 'success') {
$('#output').append('success: '+response.responseJSON['long-url']+'<br>');
} else {
$('#output').append('error: error message here <br>');
}
},
});
}
这是OP是指岗位:http://stackoverflow.com/questions/14759874/how-to-un-shorten-t-co-links-with-jquery/14760710#14760710 –
如果它对你有帮助,不要忘记接受答案。 –