0

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

4

1 回答 1

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

于 2013-11-12T16:10:31.293 回答