我遇到的问题是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。
答案 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'));
}