我们试图确定是否可以尝试通过jQuery从另一个域(但受信任)获取文件/数据并确定项是否成功获取。 换句话说,通过这种方法,我们想测试用户是否已经在浏览器中将此站点设置为可信站点。 我们通过img.src=[image on the 'another domain']
进行了测试,但它总是成功。即 它没有请求认证信任是否到位。所以我们现在正在寻找另一种解决方案/建议..用于测试URL是否可访问的JQuery
感谢
我们试图确定是否可以尝试通过jQuery从另一个域(但受信任)获取文件/数据并确定项是否成功获取。 换句话说,通过这种方法,我们想测试用户是否已经在浏览器中将此站点设置为可信站点。 我们通过img.src=[image on the 'another domain']
进行了测试,但它总是成功。即 它没有请求认证信任是否到位。所以我们现在正在寻找另一种解决方案/建议..用于测试URL是否可访问的JQuery
感谢
您可以使用下面的插件 - http://binarykitten.me.uk/dev/jq-plugins/88-jquery-plugin-ajax-head-request.html
函数调用传递的网址,传递数据,然后处理 的标题完成。
如果用户可以访问该站点 - 即他们经过身份验证,您将获得200的状态代码。如果他们不
HTTP状态代码,您将收到的401状态码:http://w3.org/Protocols/rfc2616/rfc2616-sec10.html
可能,但这肯定不会在IE中起作用,并且我们仅限于此平台.comp策略。 – user641399
作为更新 - 它将捕获状态码404,但始终返回状态为零 - 如果执行跨域请求。 erorr是'无运输' - 即具有信任的用户将得到与没有信任的用户相同的错误代码。 – user641399
注意:我们可以设置jQuery.support.cors = true;这将启用xdomain调用,现在我们可以通过可信列表中的站点测试sucessfull调用,并且如果url不在受限列表中,则可以尝试一个不完整的调用。然而,通过这样做,现在用户在所有情况下都会被提示“此页正在访问不受其控制的信息。这带来了安全风险。你想继续吗?“如果我们用这个单独的解决方案,这将会像用户一样烦人。 – user641399
<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>
复制 - > http://stackoverflow.com/questions/1051272/how-to-test-a- url-in-jquery – ManseUK
这不是一个重复的!赞美你的编辑! - 所涉及的atricle只处理访问该页面。如果用户响应身份验证对话框,$ get请求将会获得成功,否则失败 - 我们正在寻找一种解决方案,即不会提示用户输入凭据,以便我们可以静静地测试成功或未能确定该网站是否可信。 – user641399
不是 - 另一个问题的答案链接了一个插件,它将读取请求中的标题 - 如果用户可以访问该站点,您将获得200个插件 - 即它们经过身份验证。如果他们不是......那么你会收到401(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html),那正是你想要的吗?我已经添加了这个答案(我做了这个16日但删除它并链接到其他问题) – ManseUK