代码之家  ›  专栏  ›  技术社区  ›  Chris Bier

为什么这个jQuery帖子不起作用?

  •  0
  • Chris Bier  · 技术社区  · 15 年前

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

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

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

    $lastname = $_POST['lastname'];
    $username = $_POST['username'];
    
    **** Mysql Insert into DB code Here *****
    

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

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

    编辑

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

    1 回复  |  直到 8 年前
        1
  •  2
  •   Joseph Yaduvanshi    15 年前

    两件事:

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

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

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

    // 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'));
    }