JQuery验证来自另一个域的url不起作用

时间:2013-11-12 15:49:49

标签: javascript jquery validation

我是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不支持跨域验证。这是真的吗?

1 个答案:

答案 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()