[英]PHP AJAX MYSQL Post Data is not being recieved
所以我試圖在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>
動作/ 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();
}
動作/ 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時,它顯示數組(0){},因此處理正常。 它只是沒有收到任何POST數據,請幫助:)非常感謝!
當我將其添加到users_manage.php時:
var_dump($_POST['identifier']);
它以“NULL”顯示警報。
事實證明,我需要更改var data = $(this).serialize();
to 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;
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.