jquery - 为什么这个 jQuery.post 不能与 Perl CGI 一起使用?

标签 jquery perl cgi

我试图找出为什么我没有看到 $.post("/url/", {wtf: 2}) 的参数。

我正在使用这个 perl:

use strict;
use CGI;

my $cgi = new CGI;
print $cgi->header("text/javascript");
print "'no'";

use Data::Dumper;
warn Dumper({ (map {$_=>$cgi->param($_ )} $cgi->param), postdata=>$cgi->param("POSTDATA") });

当我发出 $.get("/url", {wtf: 2}) 时,我得到了我期望并找到的结果 wtf 在日志中是 2。当我使用 $.post("/url/", {wtf: 2}) 时,我似乎没有 获取任何参数(只是日志中的 $VAR1 = { postdata=>undef } )。

我错过了什么?

Firebug 显示:Transfer-Encoding 已“分块”,Content-Type 为“application/x-www-form-urlencoded;charset=UTF-8”。此外,“Post”选项卡似乎显示了请求中的参数,但没有来自 CGI 的任何乐趣。

最佳答案

可能您的结果既没有返回 application/x-www-form-urlencoded 也没有返回 multipart/form-data。 CGI doc对此有这样的说法:

If POSTed data is not of type application/x-www-form-urlencoded or multipart/form-data, then the POSTed data will not be processed, but instead be returned as-is in a parameter named POSTDATA. To retrieve it, use code like this:

    my $data = $query->param('POSTDATA');

关于jquery - 为什么这个 jQuery.post 不能与 Perl CGI 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/583701/

相关文章:

javascript - Fancybox 在页面加载开始在 IE 中无法工作?

javascript - 无法从单选按钮组中的单个单选按钮获取值

javascript - 如果 Ajax 返回成功,则使用 jquery 滚动到 Div 底部

正则表达式匹配\n 和空格

c - 多个 printf 不起作用错误 6

mercurial - 通过VisualSVN服务器托管Mercurial HG

Objective-C/CGI 我唯一的选择?

jquery - 粘性导航栏未正确定位

perl - 在文件中的指定行之后插入文本

perl - 限制 perl 从固定范围的内存中分配内存