javascript - jQuery 不发送 POST 数据

标签 javascript jquery forms variables post

所以我在网站上有一个非常简单的表单,它完全基于 AJAX 来加载其页面。这个表单工作的唯一方法是让它也做一些 AJAX 魔术,所以我着手去做。我对表格进行了测试,所以我知道它一切正常。

这是我的表单的 javascript。 变量“fullpath”只是告诉我当前加载的是哪个页面,所有页面都存储在本地“pages”目录中。 它序列化表单并将其发送到服务器,并带有一些调试警报。

$(document).ready(function() {
$("#regForm").submit(function(event) {
    alert($(this).serialize());
        $.post("pages/" + fullpath, $(this).serialize(), function(data){
            alert(data);                      
        });
        return false;
  });
});

这是表单本身

<form name="input" id="regForm">
<div class="form-field"><label>Username</label> <input type="text" name="username"/></div>
<div class="form-field"><label>Password</label> <input type="password" name="password"/></div>
<div class="form-field"><label>Confirm Password</label> <input type="password"  name="password2"/></div>
<div class="form-field"><label>Screen Name</label> <input type="text" name="screenname"/></div>
<div class="form-field"><label>Email Address</label> <input type="text" name="address"/></div>
<div class="form-field"><label>Group</label> <select name="usergroup"> 
<option value="0">Superuser</option>
<option value="1">Admin</option>
<option value="2">Moderator</option>
<option value="3">Advmember</option>
<option value="4">Member</option>
<option value="5">Guest</option>
</select> <br />
<label>Submit: </label><input type="submit" value="Submit" />
</div>
</form>

这是我放在页面开头的一些 PHP

print_r($_POST);

所以我在表格中填写了一些虚假信息,然后按提交。所有的数据都显示在

alert($(this).serialize());

然后调用成功,我看到了加载的表单

alert(data);

但是,我要求在 PHP 中打印 $_POST 数组,这就是我得到的全部内容

Array ()

所以 jQuery 正在发送数据,它正在取回页面,但出于某种原因,POST 变量没有通过。有人愿意伸出援手吗?

最佳答案

这适用于 a Fiddle .

您确定 fullpath 是全局定义的吗?我没有在您的代码中看到任何其他可能的错误来源。

编辑:我可以从您的评论中看出实际问题:301 重定向 don't work through POST :

如果在响应 GET 或 HEAD 以外的请求时收到 301 状态代码,用户代理不得自动重定向请求,除非它可以被用户确认,因为这可能会改变条件请求已发出。

你需要删除这个重定向的东西,所以 "pages/"+ fullpath 直接指向 PHP 脚本。这也可能是您的服务器配置有问题。

如果是 Apache,您可能还想看看 this SO question .

关于javascript - jQuery 不发送 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8774605/

相关文章:

javascript - 手动显示和隐藏 jQuery ui 工具提示

javascript - jQuery this.html() 返回未定义

asp.net - 将对象数组从 javascript 发送到 Web 服务的最佳方法是什么?

javascript - 如何使用对象 MVC 5 C# 的 Javascript 列表填充 razor DropDownListFor

PHP - Echo 变量问题

c# - Windows C# 窗体的主显示设置

javascript - 如何使用 node.js 中的循环将表单数据作为对象和对象数组保存到 mongodb?

javascript - 第二次点击后出现谷歌地图反向地理编码地址?

javascript - 使用 javascript 在输入字段外输入时聚焦并输入输入字段

php - 向mysql表中插入数据表格