【问题标题】:PHP AJAX MYSQL Post Data is not being recieved未收到 PHP AJAX MYSQL 发布数据
【发布时间】:2016-10-06 19:08:48
【问题描述】:

所以我试图在 MySQL 表中发布/更新数据,但似乎没有收到发布数据。我需要帮助以输出 POST 数据。

users.php

<form id="myForm" method="post" action="" >
    <input hidden name="identifier" id="identifier" value="<?php echo $identifier; ?>" />
    <input type="submit" name="submit" value="Update" id="sub" class="btn btn-info pull-right"/>
</form>

actions/users_manage.php

$db = new PDO('mysql:host=127.0.0.1;dbname=db_name', 'db_user', 'db_pass');
$identifier = htmlspecialchars($_POST['identifier']);

if(isset($_POST['submit'])){
    try {
    $stmt = $db->prepare("UPDATE users SET identifier=:identifier WHERE identifier=:identifier");
    $stmt->execute([':identifier' => $identifier]);
    } catch (Exception $e) {
        echo 'Caught exception: ', $e->getMessage(), "\n";
    }
die();
}

actions/users_manage.js

$(document).ready(function(){
$('#myForm').submit(function(){
    var data = $(this).serialize();

    $.ajax({
        url: "actions/users_manage.php",
        type: "POST",
        data: data,
        success: function( data )
        {
            alert( data );
        },
        error: function(){
            alert('Error');
        }
    });

    return false;
    });
});

当我尝试将 var_dump($_POST) 添加到 if(isset) 上方的 users_manage.php 中时,它会显示 array(0){},因此处理正在运行。它只是没有收到任何 POST 数据,请帮助 :) 非常感谢!

当我将它添加到 users_manage.php 时:

var_dump($_POST['identifier']);

它以“NULL”显示警报。

【问题讨论】:

  • 尝试alert 发布$(this).serialize() 看看它到底是什么。
  • @Reno 我已经在这样做了,不是吗?如果不是请解释谢谢
  • @Reno 它所做的只是在没有消息的情况下发出警报(只是空白)。 success: function() { alert( $(this).serialize() ); }
  • 所以$(this).serialize() 得到你的空白值?
  • success: function() { alert( $(this).serialize() ); } 给我空白

标签: php mysql ajax pdo


【解决方案1】:

事实证明,我需要将 var data = $(this).serialize(); 更改为 var data = $(this).serialize(); 才能正常工作。

工作 ajax:

$(document).ready(function(){
$('#myForm').submit(function(){
    data = $(this).serialize();
    // alert(data);
    $.ajax({
        url: "actions/users_manage",
        type: "POST",
        data: data,
        success :   function(){
            alert(data);
        },
        error   :   function(){
            alert('Error');
        }
    });

    return false;
});
});

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    相关资源
    最近更新 更多