为什么这个jQuery Post不工作​​?

时间:2009-08-09 03:30:13

标签: jquery ajax

我遇到的问题是ajax将值发送到我的PHP脚本进行处理。

这是我正在使用的简化ajax;

$.post("register_user.php", { lastname: "gather", username: "johnny" } );

这是PHP代码:

$lastname = $_POST['lastname'];
$username = $_POST['username'];

**** Mysql Insert into DB code Here *****

我的情况更复杂,需要发送更多的值,但我做错了什么?我已经把它指向Ajax,因为当我手动输入值而不是PHP中的$ _POST变量时,它工作正常。它正在正确加载页面,因为我的php脚本将空值发送到数据库。

请帮忙!这是我关于这个问题的最后一篇文章: jQuery Ajax issue

修改

我已经更改了代码并将序列化放入其中。它成功获取了所有表单字段,但它没有发布到数据库,它仍然抛出空白。我知道我的PHP代码很好。 Firebug说304 Not Modified。

1 个答案:

答案 0 :(得分:2)

两件事:

您是否尝试更改发送的数据以使用jQuery的表单序列化功能?

$('form :input').serialize()

这将采用所有文本,复选框,单选按钮等,并将它们添加到要发送的适当值。您只需确保输入是根据PHP文件中的变量命名的。

另外,提示:在一个简单的检查中包装$ _POST分配:

// only allow AJAX POSTs
if (!empty($_POST) && isAjax())
{
  // code here
}
function isAjax() {
    return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && 
    ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'));
}