JQuery测试URL是否可访问

时间:2011-11-16 14:46:55

标签: jquery authentication trusted

我们正在尝试确定是否可以尝试通过jQuery从另一个域(但是受信任)获取文件/数据,并确定该项是否已成功获取。 换句话说,通过此方法,我们希望测试用户是否已将此站点设置为其浏览器中的受信任站点。 我们通过img.src=[image on the 'another domain']进行了测试,但它总是成功的。即 它没有请求身份验证信任是否到位。所以我们现在正在寻找另一个解决方案/建议..

由于

2 个答案:

答案 0 :(得分:1)

您可以使用以下插件 - http://binarykitten.me.uk/dev/jq-plugins/88-jquery-plugin-ajax-head-request.html

  

该函数调用传递的url,传递数据然后进行处理   完成后的标题。

如果用户可以访问该站点,您将获得200的状态代码 - 即他们已通过身份验证。如果不是

,您将收到401的状态代码

HTTP状态代码:http://w3.org/Protocols/rfc2616/rfc2616-sec10.html

答案 1 :(得分:0)

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Show Content</title>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript"> 
            $(document).ready(function() {
                // this script resides on aaaa.yyyyy.domain.com
                document.domain='yyyy.domain.com';
                // call to trusted site
                var urlx="http://bbbb.yyyy.domain.com";

                // turn on x dom calls
                jQuery.support.cors = true; 

                // Launch AJAX request.
                $.ajax(
                    {
                        url: urlx,

                        // The type of request.
                        type: "head",

                        // The type of data that is getting returned.
                        dataType: "html",

                         error:function 
                         (xhr, ajaxOptions, thrownError){  
                            ShowStatus( "Call to URL: '"+urlx+ "' Failed "+xhr.status+" "+thrownError);
                         },
                        success: function( strData ){
                            ShowStatus( "Call to URL: '"+urlx+ "' Success");
                        }
                    }
                );
            });

            function ShowStatus( strStatus ){
                var jStatusList = $( "#ajax-status" );
                jStatusList.prepend( "<p>" + strStatus + "</p>" );
            }
        </script> 
    </head>
    <body>
        <div id="ajax-status" ></div>
    </body>
</html>