我是JQuery的新手。我的要求是验证来自其他域的链接。如果成功,则将该链接重定向(打开一个新窗口的页面),否则显示警告。
我在Jsfiddle中尝试的内容如下:
$.ajax({
url: "/user/login",
method: 'head',
error: function(){
alert('Failure');
},
success: function(){
alert("Success");
}
})
上面的一个成功验证了URL。但是,一旦我将网址更改为http://www.google.com,它就无法正常工作。代码段如下:
$.ajax({
url: "http://google.com",
method: 'head',
error: function(){
alert('Failure');
},
success: function(){
alert("Success");
}
})
知道为什么这不起作用,有没有办法解决这个问题?我刚刚发现JQuery不支持跨域验证。这是真的吗?
答案 0 :(得分:1)
<script>
var testUrl = "http://www.google1.com";
$.ajax({
url: testUrl,
dataType: 'jsonp',
crossDomain: true,
timeout: 5000,
complete: function( e, xhr, settings ) {
switch( e.status ) {
case 200:
window.open( testUrl );
break;
default:
alert( 'Not Valid' );
return false;
break;
}
}
});
</script>
或者,我会向内部服务器端脚本发送一个AJAX请求,然后使用某些服务器端方法检查,例如PHP的cURL
/ get_file_contents()
。