批量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,我不知道哪个是错误。有人可以帮忙吗?

+0

这是OP是指岗位:http://stackoverflow.com/questions/14759874/how-to-un-shorten-t-co-links-with-jquery/14760710#14760710 –

+0

如果它对你有帮助,不要忘记接受答案。 –

看起来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>'); 
     }  


    }, 

}); 
}