我们正在尝试确定是否可以尝试通过 jQuery 从另一个域(但受信任)获取文件/数据,并确定该项目是否成功获取。换句话说,通过这种方法,我们想测试用户是否在他们的浏览器中将此站点设置为受信任站点。我们通过 进行了测试img.src=[image on the 'another domain']
,但它总是成功。即,无论信任是否到位,它都没有请求身份验证。所以我们现在正在寻找另一种解决方案/建议..
谢谢
我们正在尝试确定是否可以尝试通过 jQuery 从另一个域(但受信任)获取文件/数据,并确定该项目是否成功获取。换句话说,通过这种方法,我们想测试用户是否在他们的浏览器中将此站点设置为受信任站点。我们通过 进行了测试img.src=[image on the 'another domain']
,但它总是成功。即,无论信任是否到位,它都没有请求身份验证。所以我们现在正在寻找另一种解决方案/建议..
谢谢
您可以使用以下插件 - http://binarykitten.me.uk/dev/jq-plugins/88-jquery-plugin-ajax-head-request.html
该函数调用传递的 url,传递数据,然后在完成时处理标头。
如果用户可以访问该站点,您将获得状态代码 200 - 即他们已通过身份验证。如果不是,您将收到状态码 401
<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>