js 中Cookie的跨域问题
在一台服务器上有这样 一段程序:
if (this.Request.Cookies["imgCode"] == null)
{
imgCookie = new HttpCookie("imgCode");
imgCookie.Value = random;
imgCookie.Domain ="http://localhost:59315/";
this.Response.Cookies.Add(imgCookie);
}
现在在一个静态页面中有一段JS是去调用这个程序中的数据的。但是,JS中
//获取指定名称的cookie的值
function getCookie(objName) {
var arrStr = document.cookie.split("; ");
for (var i = 0; i < arrStr.length; i++) {
var temp = arrStr[i].split("=");
if (temp[0] == objName) return unescape(temp[1]);
}
}
function Code_Written() {
var vCode = ((document.getElementById("TB_code").value)).toLowerCase().trim();
if (vCode != "") {
//判断验证码是否正确
var code = getCookie("imgCode"); ;
//正确
if (code.toLowerCase() == vCode) {
return true;
}
}
function readCookie() {
//判断是否存在cookie
var isExist = document.cookie.indexOf("imgCode=");
//alert(isExist);
if (isExist != -1) {
//“imgCode=”后面的等号的位置
var c = document.cookie.indexOf("=", isExist) + 1;
//获取等号后面的字符串,也就是所需要的验证码!
var str = document.cookie.substring(c)
//alert(document.cookie.substring(c));
if (document.getElementById("Image").value != str) {
document.getElementById("Image").select();
document.getElementById("imgCode").src = "http://localhost:59315/shortcut/code.aspx?abc=" + Math.random();
alert("验证码输入错误!")
return false;
} else {
return true;