Skip to content
This repository was archived by the owner on Jun 29, 2026. It is now read-only.

Commit 9de51b5

Browse files
committed
update demo
1 parent ddaf0d1 commit 9de51b5

3 files changed

Lines changed: 73 additions & 273 deletions

File tree

demo/django_demo/static/index.html

Lines changed: 24 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -57,100 +57,33 @@
5757
<input type="password" name="password" value="geetest"/>
5858
</div>
5959
<div class="box">
60-
<div id="div_geetest_lib"></div>
61-
<div id="div_id_embed"></div>
60+
<div id="captcha"></div>
6261
<div class="box">
6362
<button id="submit-button">提交</button>
6463
</div>
65-
<script type="text/javascript">
66-
67-
68-
function geetest_ajax_results() {
69-
//TODO, not necessory a geetest ajax demo,
70-
$.ajax({
71-
url : "",//todo:set the servelet of your own
72-
type : "post",
73-
data : gt_captcha_obj.getValidate(),
74-
success : function(sdk_result) {
75-
console.log(sdk_result)
76-
}
77-
});
78-
}
79-
80-
81-
var gtFailbackFrontInitial = function(result) {
82-
var s = document.createElement('script');
83-
s.id = 'gt_lib';
84-
s.src = 'http://static.geetest.com/static/js/geetest.0.0.0.js';
85-
s.charset = 'UTF-8';
86-
s.type = 'text/javascript';
87-
document.getElementsByTagName('head')[0].appendChild(s);
88-
var
89-
loaded = false;
90-
s.onload = s.onreadystatechange = function() {
91-
if (!loaded
92-
&& (!this.readyState
93-
|| this.readyState === 'loaded' || this.readyState === 'complete')) {
94-
loadGeetest(result);
95-
loaded = true;
96-
}
97-
};
98-
}
99-
//get geetest server status, use the failback solution
100-
101-
102-
var loadGeetest = function(config) {
103-
104-
//1. use geetest captcha
105-
window.gt_captcha_obj = new window.Geetest({
106-
gt : config.gt,
107-
challenge : config.challenge,
108-
product : 'embed',
109-
offline : !config.success
110-
});
111-
112-
gt_captcha_obj.appendTo("#div_id_embed");
113-
114-
//Ajax request demo,if you use submit form ,then ignore it
115-
gt_captcha_obj.onSuccess(function() {
116-
geetest_ajax_results()
117-
});
118-
}
119-
120-
s = document.createElement('script');
121-
s.src = 'http://api.geetest.com/get.php?callback=gtcallback';
122-
$("#div_geetest_lib").append(s);
123-
124-
var gtcallback =( function() {
125-
var status = 0, result, apiFail;
126-
return function(r) {
127-
status += 1;
128-
if (r) {
129-
result = r;
130-
setTimeout(function() {
131-
if (!window.Geetest) {
132-
apiFail = true;
133-
gtFailbackFrontInitial(result)
134-
}
135-
}, 1000)
136-
}
137-
else if(apiFail) {
138-
return
139-
}
140-
if (status == 2) {
141-
loadGeetest(result);
142-
}
143-
}
144-
})()
145-
146-
$.ajax({
147-
url : "/getcaptcha",
148-
type : "get",
149-
dataType : 'JSON',
150-
success : function(result) {
151-
gtcallback(result)
152-
}
153-
})
64+
<script src="http://static.geetest.com/static/tools/gt.js"></script>
65+
<script>
66+
var handler = function (captchaObj) {
67+
// 将验证码加到id为captcha的元素里
68+
captchaObj.appendTo("#captcha");
69+
};
70+
$.ajax({
71+
// 获取id,challenge,success(是否启用failback)
72+
url: "/getcaptcha",
73+
type: "get",
74+
dataType: "json", // 使用jsonp格式
75+
success: function (data) {
76+
// 使用initGeetest接口
77+
// 参数1:配置参数,与创建Geetest实例时接受的参数一致
78+
// 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件
79+
initGeetest({
80+
gt: data.gt,
81+
challenge: data.challenge,
82+
product: "embed", // 产品形式
83+
offline: !data.success
84+
}, handler);
85+
}
86+
});
15487
</script>
15588
</div>
15689
</form>

demo/flask_demo/templates/login.html

Lines changed: 25 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -57,100 +57,34 @@
5757
<input type="password" name="password" value="geetest"/>
5858
</div>
5959
<div class="box">
60-
<div id="div_geetest_lib"></div>
61-
<div id="div_id_embed"></div>
60+
<div id="captcha"></div>
61+
6262
<div class="box">
6363
<button id="submit-button">提交</button>
6464
</div>
65-
<script type="text/javascript">
66-
67-
68-
function geetest_ajax_results() {
69-
//TODO, not necessory a geetest ajax demo,
70-
$.ajax({
71-
url : "",//todo:set the servelet of your own
72-
type : "post",
73-
data : gt_captcha_obj.getValidate(),
74-
success : function(sdk_result) {
75-
console.log(sdk_result)
76-
}
77-
});
78-
}
79-
80-
81-
var gtFailbackFrontInitial = function(result) {
82-
var s = document.createElement('script');
83-
s.id = 'gt_lib';
84-
s.src = 'http://static.geetest.com/static/js/geetest.0.0.0.js';
85-
s.charset = 'UTF-8';
86-
s.type = 'text/javascript';
87-
document.getElementsByTagName('head')[0].appendChild(s);
88-
var
89-
loaded = false;
90-
s.onload = s.onreadystatechange = function() {
91-
if (!loaded
92-
&& (!this.readyState
93-
|| this.readyState === 'loaded' || this.readyState === 'complete')) {
94-
loadGeetest(result);
95-
loaded = true;
96-
}
97-
};
98-
}
99-
//get geetest server status, use the failback solution
100-
101-
102-
var loadGeetest = function(config) {
103-
104-
//1. use geetest captcha
105-
window.gt_captcha_obj = new window.Geetest({
106-
gt : config.gt,
107-
challenge : config.challenge,
108-
product : 'embed',
109-
offline : !config.success
110-
});
111-
112-
gt_captcha_obj.appendTo("#div_id_embed");
113-
114-
//Ajax request demo,if you use submit form ,then ignore it
115-
gt_captcha_obj.onSuccess(function() {
116-
geetest_ajax_results()
117-
});
118-
}
119-
120-
s = document.createElement('script');
121-
s.src = 'http://api.geetest.com/get.php?callback=gtcallback';
122-
$("#div_geetest_lib").append(s);
123-
124-
var gtcallback =( function() {
125-
var status = 0, result, apiFail;
126-
return function(r) {
127-
status += 1;
128-
if (r) {
129-
result = r;
130-
setTimeout(function() {
131-
if (!window.Geetest) {
132-
apiFail = true;
133-
gtFailbackFrontInitial(result)
134-
}
135-
}, 1000)
136-
}
137-
else if(apiFail) {
138-
return
139-
}
140-
if (status == 2) {
141-
loadGeetest(result);
142-
}
143-
}
144-
})()
145-
146-
$.ajax({
147-
url : "/getcaptcha",
148-
type : "get",
149-
dataType : 'JSON',
150-
success : function(result) {
151-
gtcallback(result)
152-
}
153-
})
65+
<script src="http://static.geetest.com/static/tools/gt.js"></script>
66+
<script>
67+
var handler = function (captchaObj) {
68+
// 将验证码加到id为captcha的元素里
69+
captchaObj.appendTo("#captcha");
70+
};
71+
$.ajax({
72+
// 获取id,challenge,success(是否启用failback)
73+
url: "/getcaptcha",
74+
type: "get",
75+
dataType: "json", // 使用jsonp格式
76+
success: function (data) {
77+
// 使用initGeetest接口
78+
// 参数1:配置参数,与创建Geetest实例时接受的参数一致
79+
// 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件
80+
initGeetest({
81+
gt: data.gt,
82+
challenge: data.challenge,
83+
product: "embed", // 产品形式
84+
offline: !data.success
85+
}, handler);
86+
}
87+
});
15488
</script>
15589
</div>
15690
</form>

demo/tornado_demo/static/login.html

Lines changed: 24 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -57,100 +57,33 @@
5757
<input type="password" name="password" value="geetest"/>
5858
</div>
5959
<div class="box">
60-
<div id="div_geetest_lib"></div>
61-
<div id="div_id_embed"></div>
60+
<div id="captcha"></div>
6261
<div class="box">
6362
<button id="submit-button">提交</button>
6463
</div>
65-
<script type="text/javascript">
66-
67-
68-
function geetest_ajax_results() {
69-
//TODO, not necessory a geetest ajax demo,
70-
$.ajax({
71-
url : "",//todo:set the servelet of your own
72-
type : "post",
73-
data : gt_captcha_obj.getValidate(),
74-
success : function(sdk_result) {
75-
console.log(sdk_result)
76-
}
77-
});
78-
}
79-
80-
81-
var gtFailbackFrontInitial = function(result) {
82-
var s = document.createElement('script');
83-
s.id = 'gt_lib';
84-
s.src = 'http://static.geetest.com/static/js/geetest.0.0.0.js';
85-
s.charset = 'UTF-8';
86-
s.type = 'text/javascript';
87-
document.getElementsByTagName('head')[0].appendChild(s);
88-
var
89-
loaded = false;
90-
s.onload = s.onreadystatechange = function() {
91-
if (!loaded
92-
&& (!this.readyState
93-
|| this.readyState === 'loaded' || this.readyState === 'complete')) {
94-
loadGeetest(result);
95-
loaded = true;
96-
}
97-
};
98-
}
99-
//get geetest server status, use the failback solution
100-
101-
102-
var loadGeetest = function(config) {
103-
104-
//1. use geetest captcha
105-
window.gt_captcha_obj = new window.Geetest({
106-
gt : config.gt,
107-
challenge : config.challenge,
108-
product : 'embed',
109-
offline : !config.success
110-
});
111-
112-
gt_captcha_obj.appendTo("#div_id_embed");
113-
114-
//Ajax request demo,if you use submit form ,then ignore it
115-
gt_captcha_obj.onSuccess(function() {
116-
geetest_ajax_results()
117-
});
118-
}
119-
120-
s = document.createElement('script');
121-
s.src = 'http://api.geetest.com/get.php?callback=gtcallback';
122-
$("#div_geetest_lib").append(s);
123-
124-
var gtcallback =( function() {
125-
var status = 0, result, apiFail;
126-
return function(r) {
127-
status += 1;
128-
if (r) {
129-
result = r;
130-
setTimeout(function() {
131-
if (!window.Geetest) {
132-
apiFail = true;
133-
gtFailbackFrontInitial(result)
134-
}
135-
}, 1000)
136-
}
137-
else if(apiFail) {
138-
return
139-
}
140-
if (status == 2) {
141-
loadGeetest(result);
142-
}
143-
}
144-
})()
145-
146-
$.ajax({
147-
url : "/getcaptcha",
148-
type : "get",
149-
dataType : 'JSON',
150-
success : function(result) {
151-
gtcallback(result)
152-
}
153-
})
64+
<script src="http://static.geetest.com/static/tools/gt.js"></script>
65+
<script>
66+
var handler = function (captchaObj) {
67+
// 将验证码加到id为captcha的元素里
68+
captchaObj.appendTo("#captcha");
69+
};
70+
$.ajax({
71+
// 获取id,challenge,success(是否启用failback)
72+
url: "/getcaptcha",
73+
type: "get",
74+
dataType: "json", // 使用jsonp格式
75+
success: function (data) {
76+
// 使用initGeetest接口
77+
// 参数1:配置参数,与创建Geetest实例时接受的参数一致
78+
// 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件
79+
initGeetest({
80+
gt: data.gt,
81+
challenge: data.challenge,
82+
product: "embed", // 产品形式
83+
offline: !data.success
84+
}, handler);
85+
}
86+
});
15487
</script>
15588
</div>
15689
</form>

0 commit comments

Comments
 (0)