js验证url是否有效,支持跨域的验证
背景:有时候我们不仅仅验证url是否正确,还需要验证是否能真正访问
原理:先用正则校验过后,然后用ajax去模拟请求,能响应200,说明url真实有效,跨域用jsonp,超时设置越短越好。
$.ajax({
type: 'get',
cache: false,
url: url,
dataType: "jsonp", //跨域采用jsonp方式
processData: false,
timeout:1000, //超时时间,毫秒
complete: function (data) {
if (data.status==200) {
if($('input[name=is_link_origin_url]').val() == '1'){
$('input[name=is_link_origin_url]').val('0');
}else {
$('input[name=is_link_origin_url]').val('1');
}
} else {
$('#check-btn').removeAttr('checked');
$('input[name=is_link_origin_url]').val('0');
alert("无效链接");
}
}
});