javascript - 在 php 中从 Ajax/Jquery 获取表单 $_POST 数据

标签 javascript php jquery ajax

一如既往,如果您能在这方面提供帮助,请提前致谢。

我正在尝试使用 Ajax 调用脚本并同时发布表单数据。一切都按预期工作,除了 $POST 数据,当我尝试回显或打印它时,它返回空白。谁能告诉我我在这里错过了什么?

<form id="guestlist" name="guestlist">
<?php // Collect CLUBS data to pass to guestlist script ?> 
<input type="hidden" name="gl_clubname"   value="<?php echo $ptitle; ?>" />
<input type="hidden" name="gl_clubnumber" value="<?php echo $phoneno_meta_value; ?>" />
<input type="hidden" name="gl_clubemail"  value="<?php echo $email_meta_value; ?>" />
<?php // Collect USERS data to pass to guestlist script ?> 
<input type="hidden" name="gl_name"  value="<?php echo $fullname;?>" />
<input type="hidden" name="gl_email"  value="<?php echo $email;?>" />
<input type="hidden" name="gl_dob"  value="<?php echo $birthday;?>" />
<input type="hidden" name="gl_propic"  value="<?php echo $profile_url;?>" />

<div id="clubcontactleft">
<textarea id="clubmessage" name="gl_message" placeholder="Your message" rows="4" style="background-image:url('http://www.xxxxx.com/wp-content/themes/xxxxx/images/userreview.jpg');
 background-repeat:no-repeat; padding-left:40px; background-size:40px 94px; width:250px; margin-bottom:15px;"></textarea>
 <input type="text" name="gl_when" placeholder="Enquiry Date" style="background-image:url('http://www.xxxxx.com/wp-content/themes/xxxxx/images/calendaricon.jpg');
 background-repeat:no-repeat; padding-left:40px; background-size:40px 38px; width:250px;">
<input type="text" name="gl_phonenumber" placeholder="Phone Number" style="background-image:url('http://www.xxxxx.com/wp-content/themes/xxxxx/images/phonecall.jpg');
 background-repeat:no-repeat; padding-left:40px; background-size:40px 38px; width:250px;">
</div>
<div class="guestlistbutton"><a href="#" alt="Send Message" title="Send Message" class="calltoactionbutton">Send Message</a></div>
</form>


<script type="text/javascript">
    $(document).ready(function($){
        $(".guestlistbutton").on('click',function(event) {
            event.preventDefault();
            $("#clubcontactform").empty();
            var url = "http://www.xxxxxx.com/wp-content/themes/xxxxxx/guestlist.php"; // the script where you handle the form input.
            $.ajax({
                type: "POST",
                url: url,
                data: $("#guestlist").serialize(), // serializes the form's elements.
                success: function(data)
                {
                    $('#clubcontactform').append(data); // show response from the php script.
                }
            });
            return false; // avoid to execute the actual submit of the form.
        });
    });
</script>

这是它引入的 php 文件

<?php
echo 'Pulling in guestlist.php<br/>';
$gl_message = $_POST['gl_message'];
print_r($gl_message);
echo $gl_message;

?>

谢谢!

最佳答案

一切似乎都是正确的,只是您忘记包含 jquery 文件。请包含并尝试一次。如果问题仍然存在,将创建 Jsfiddle

关于javascript - 在 php 中从 Ajax/Jquery 获取表单 $_POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934770/

相关文章:

javascript - 我如何将对象键名称指定为与其值相同的名称?

javascript - NodeJS unsafe-perm 不适用于 package.json

php - 使用 php 访问 json api

javascript - 如何防止页面在表单提交时重新加载,并显示一条小文字 "successfully registered"

javascript - 如何仅在开头标签中为颜色添加值

javascript - 获取基于类的索引

javascript - 如何在选择下拉菜单时动态创建文本框

jquery - 分页动画 Ember 集合

javascript - 在同一页面上显示 3 个传单 map

php - 最近在插件中创建的 PHP 文件未运行 WordPress PHP 函数