跨境电商
经验交流分享

通过Ajax修改PHP全局变量$_POST

之前一直不太清楚$_POST变量是否会在提交的时候被Ajax截取并修改POST值。今天在给Magento表单添加Google recaptcha的时候,一直无法获取除了文件原始表单之外的任何新添加表单的值。调试了N久,心里想着可能在什么地方限制了表单数据,不过一直没有考虑是JS去做的。看下具体代码,

[javascript]

jQuery.post(action, {
name: jQuery(‘#name’).val(),
email: jQuery(‘#email’).val(),
telephone: jQuery(‘#telephone’).val(),
comment: jQuery(‘#comment’).val(),
recaptcha_challenge_field: jQuery(‘#recaptcha_challenge_field’).val(),
recaptcha_response_field: jQuery(‘#recaptcha_response_field’).val()
},
[/javascript]

该值截取表单提交事件,直接获取到了表单提交的数据。这里是考虑到安全因素,它只获取原始表单中包含的name,email,telephone以及comment四个字段。然后再传递给表单处理脚本。所以说,在没有修改该段代码之前,无论如何在处理脚本中是无法获取到新值的。下面是在处理脚本中的代码。

[php]

$post = $this->getRequest()->getPost();

var_dump($post);

[/php]

这样就能够成功获取到数据了,对于老鸟来说,这个肯定简单。当然以后对于这个我也就老了,半天时间真是可在大腿根上了。撒花。

赞(0)
未经允许不得转载:锐想 » 通过Ajax修改PHP全局变量$_POST
分享到: 更多 (0)

评论 1

评论前必须登录!

 

  1. #1

    我还是菜鸟 🙄

    zeojon7年前 (2011-12-30)

锐想电商 - 跨境电商经验交流分享

锐想无限