1
我只需要一个简单的例子来说明如何将表单提交到Perl脚本并获得简单的响应,我认为这个示例代码缺少一些东西,而且我无法确定出来。如果有人能够判断这是否是一个很好的开始或问题出在哪里,谢谢你的帮助。
这里是我使用的是什么:
HTML文件:使用jQuery提交表单从Perl脚本获取响应
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4 /strict.dtd">
<html>
<head>
<title>jQuery.post demo</title>
<script src="jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
// Attach a submit handler to the form
$("#searchForm").submit(function(event) {
// Stop form from submitting normally
event.preventDefault();
// Get some values from elements on the page:
var $form = $(this),
namev = $form.find("input[name='name']").val(),
agev = $form.find("input[name='age']").val(),
url = $form.attr("action");
alert(url);
// Send the data using post
var posting = $.post(url, { name: namev, age: agev });
// Put the results in a div
posting.done(function(data) {
//var content = $(data).find("#content");
$("#result").empty().append(data);
});
});
</script>
</head>
<body>
<p>jQuery.post</p>
<form action="form_1.pl" id="searchForm">
<input type="text" name="name" placeholder="Search...">
<input type="text" name="age">
<input type="submit" value="Search">
</form>
<!-- the result of the search will be rendered inside this div -->
<div id="result"></div>
</body>
</html>
这里是Perl测试文件:
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $c = new CGI;
print $c->header();
if ('POST' eq $c->request_method && $c->param('name')) {
# yes, parameter exists
# print $c->param('name');
my $name = $c->param('name');
my $age = $c->param('age');
print "<span style='color:red'>Welcome <b>$name</b>. So you're <b>$age</b> years old eh?</span>";
}else {
print "--";
}
谢谢!
看起来是正确的,你可以看到什么反应? apache是否设置为执行CGI? – 2014-12-03 16:10:15
为什么这么古老的jQuery版本? – Barmar 2014-12-03 16:17:53
“我认为这个示例代码缺少一些东西,我无法弄清楚” - 这不是对你的问题非常有用的描述。你为什么觉得缺少一些东西?你看到了什么意想不到的行为? Web服务器错误日志中是否有任何内容? – 2014-12-03 16:42:52