如果满足某些条件,当用户点击cgi页面时,我想通过发布请求将用户转发到一条路线。我尝试了以下代码,但无法访问网站。查看我的日志,我什么也没得到。
我正在通过Perl从CGI脚本获取数据。如果条件匹配,我想提交给非cgi路线。
print qq@<form name='success' action='mysite.com/canyd/' method='post'>@,
qq@<input type='hidden' name='linkB' value='Add Assets' />@,
qq@</form>@,
qq@<script type='text/javascript'>@,
qq@ document.success.submit()@,
qq@</script>@;
当条件满足并且cgi代码的这一部分触发时,我只是无法到达站点。我不需要用户选择提交。有没有办法使用post模块。
我期望的是代码会满足条件,然后通过javascript提交将我带到canyd路线。
最佳答案
在HTTP client library的帮助下,代表您的CGI程序中的用户发送POST请求。
use HTTP::Tiny qw();
my $response = HTTP::Tiny->new->post_form(
'http://mysite.com/canyd/',
{ linkB => 'Add Assets' }
);