【发布时间】: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() ); }给我空白