/**
* 获取反CSRF的token
* @author scorpionxu
* @example QZONE.FrontPage.getACSRFToken();
* @return {String} 返回token串
*
*/
data.g_tk = getACSRFToken();function getACSRFToken(){
return arguments.callee._DJB(getACSRFToken._getS("skey"));
};/**
* 一个简单的摘要签名算法
* @author scorpionxu
* @ignore
*/
getACSRFToken._DJB = function(str){
var hash = 5381; for(var i = 0, len = str.length; i < len; ++i){
hash += (hash << 5) + str.charAt(i).charCodeAt();
} return hash & 0x7fffffff;
};getACSRFToken._getS = function(name) {
var r = new RegExp("(?:^|;+|\\s+)" + name + "=([^;]*)"), m = document.cookie.match(r);
return (!m ? "" : m[1]);
};
对JS不懂,谁能帮我写个HTML调用下,我想看下返回的token字符串,非常感谢
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
/**
* 获取反CSRF的token
* @author scorpionxu
* @example QZONE.FrontPage.getACSRFToken();
* @return {String} 返回token串
*
*/
// data.g_tk = getACSRFToken();//这行注释掉先
//可以在各个函数里面加一些alert()来简单看一下运行的过程
function getACSRFToken(){
alert(arguments.callee._DJB(getACSRFToken._getS("skey")));
//说明:arguments.callee:初始值就是正被执行的 Function 对象,用于匿名函数
return arguments.callee._DJB(getACSRFToken._getS("skey"));
};
/**
* 一个简单的摘要签名算法
* @author scorpionxu
* @ignore
*/
getACSRFToken._DJB = function(str){
var hash = 5381;
for (var i = 0, len = str.length; i < len; ++i) {
hash += (hash << 5) + str.charAt(i).charCodeAt();
}
return hash & 0x7fffffff;
};
getACSRFToken._getS = function(name){
//document.cookie.match:从cookie中找r这个值
var r = new RegExp("(?:^|;+|\\s+)" + name + "=([^;]*)"), m = document.cookie.match(r);
return (!m ? "" : m[1]);//返回时判断,!m成立则取"",否则取m[1]
};
</script>
</head>
<body>
<input type="button" name="" value="but1" onclick="getACSRFToken();">
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
/**
* 获取反CSRF的token
* @author scorpionxu
* @example QZONE.FrontPage.getACSRFToken();
* @return {String} 返回token串
*
*/
// data.g_tk = getACSRFToken();//这行注释掉先
//可以在各个函数里面加一些alert()来简单看一下运行的过程
function getACSRFToken(){
alert(arguments.callee._DJB(getACSRFToken._getS("skey")));
//说明:arguments.callee:初始值就是正被执行的 Function 对象,用于匿名函数
return arguments.callee._DJB(getACSRFToken._getS("skey"));
};
/**
* 一个简单的摘要签名算法
* @author scorpionxu
* @ignore
*/
getACSRFToken._DJB = function(str){
var hash = 5381;
for (var i = 0, len = str.length; i < len; ++i) {
hash += (hash << 5) + str.charAt(i).charCodeAt();
}
return hash & 0x7fffffff;
};
getACSRFToken._getS = function(name){
//document.cookie.match:从cookie中找r这个值
var r = new RegExp("(?:^|;+|\\s+)" + name + "=([^;]*)"), m = document.cookie.match(r);
return (!m ? "" : m[1]);//返回时判断,!m成立则取"",否则取m[1]
};
</script>
</head>
<body>
<input type="button" name="" value="but1" onclick="getACSRFToken();">
</body>
</html>