0

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

谢谢

4

2 回答 2

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

于 2011-11-16T14:52:59.350 回答
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>
于 2011-11-29T12:24:14.930 回答