在cgi和Javascript/Jquery之间传输数据
Transfer Data between cgi and Javascript/Jquery
我想在cgi页面和javascript/Jquery之间传输数据并返回到cgi页面
Index.html有表单内容
login.cgi
my $username= $cgi->param('uid');
if (($cgi->param('uid') eq 'demo') && ($cgi->param('pwd') eq 'demo')) {
my $cookie = CGI::Cookie->new(-name=> 'uid', -value=> $cgi->param('uid'));
print $cgi->redirect(-uri => '/cgi-bin/index.cgi', -cookie => $cookie);
index.cgi
my $uid = $cookies{uid}->value;
print $uid;
print <<"HTML_CODE"
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script src="/scripts/test_javascript.js" type="text/javascript"></script>
</head>
<body>
<h2> This is a Demo Login Page of $uid </h2>
</body>
</html>
HTML_CODE
;
test_javascript.js
$(document).ready(function () {
var uid = $('#uid').attr('value');
if (uid) {
$.ajax({
url:'/cgi-bin/index.cgi',
data: "uid=" + uid,
// script call was *not* successful
error: function() {
alert("script call was not successful");
},
// script call was successful
// data should contain the string returned by the Perl script
success: function(data){
alert("Your userid is: " + data)
}
});
}
}
)
选项1 -我会硬编码它在index.cgi。这样你就可以将值插入到javascript代码中。
应该是你的index.cgi:
$(document).ready(function () {
var uid = $cookies{uid}->value;
if (uid) {
$.ajax({
url:'/cgi-bin/index.cgi',
data: "uid=" + uid,
// script call was *not* successful
error: function() {
alert("script call was not successful");
},
// script call was successful
// data should contain the string returned by the Perl script
success: function(data){
alert("Your userid is: " + data)
}
});
}
}
)
my $uid = $cookies{uid}->value;
print $uid;
print <<"HTML_CODE"
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script src="/scripts/test_javascript.js" type="text/javascript"></script>
</head>
<body>
<h2> This is a Demo Login Page of $uid </h2>
</body>
</html>
HTML_CODE
;
选项2 -将$cookies{uid}->value分配给一个隐藏的输入,并让testjavascript稍后拾取它
Index.cgi:
print <<"HTML_CODE"
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script src="/scripts/test_javascript.js" type="text/javascript"></script>
</head>
<body>
<h2> This is a Demo Login Page of $uid </h2>
<input id="uid" type="$cookie{uid}->value"/>
</body>
</html>
HTML_CODE
;
$(document).ready(function () {
var uid = $.cookie("uid");
if (uid) {
$.ajax({
url:'/cgi-bin/index.cgi',
data: "uid=" + uid,
// script call was *not* successful
error: function() {
alert("script call was not successful");
},
// script call was successful
// data should contain the string returned by the Perl script
success: function(data){
alert("Your userid is: " + data)
}
});
}
}
)
相关文章:
- 如何使用WebRTC在两个浏览器之间传输文件
- 在两个组件之间传输状态
- 是否可以在由春季网络流驱动的html页面之间传输数据
- 通过 HTTP 在两个节点.js服务器之间传输文件
- 如何在两个Liferay输入编辑器之间传输html
- 数组值在 2 个函数之间传输
- javascript如何使用在网站之间传输信息
- 使用 WebRTC 在浏览器之间传输 JSON
- 使用服务在 Angular 中不同应用程序的控制器之间传输数据
- 在网站上的页面之间传输数据
- PhoneGap(网络移动应用程序)-在页面之间传输数据
- PubSub模式用于在两个解耦的javascript模块之间传输数据
- 如何使用端口在main.js和面板之间传输消息'的内容脚本
- 在Java后端和javascript前端之间传输数据
- 在不同域的用户脚本之间传输数据
- 如何在网站之间传输javascript数据
- 在cgi和Javascript/Jquery之间传输数据
- 如何在HTML页面之间传输值
- 如何使用jQuery将文本附加到列表之间传输的项目
- Gmail api &Admin SDK用于在同一组织的gmail帐户之间传输电子邮件