我试图使用ajax发送一个php数组值,但没有发生任何事情,mysql表没有更新....
HTML:
//edit topic
if(isset($_GET['edit_topic']) && is_numeric($_GET['edit_topic']) ){
$topic_id=htmlspecialchars($_GET['edit_topic']);
$get_topic=$db->query("select * from articles where art_id='$topic_id'");
$topic=$get_topic->fetch_assoc();
?>
<form role="form" action="" id="edit_topic_form" method="post">
<div class="row">
<div class="col-md-6">عنوان الموضوع</div>
<div class="col-md-6"><input type="text" class="form-control" name="art_title" id="art_title" value="<?php echo $topic['art_title']; ?>"></div>
</div>
.........................
}
PHP:
if($_POST){
$topic_array=array(
"art_title"=>$_POST['art_title'],
"art_subtitle"=>$_POST['art_subtitle'],
"art_desc"=>$_POST['art_desc'],
"art_tags"=>$_POST['art_tags'],
"art_download"=>$_POST['art_download'],
"art_yt"=>$_POST['art_yt'],
"art_instructor"=>$_POST['art_instructor'],
"art_com_no"=>$_POST['art_com_no'],
"art_likes"=>$_POST['art_likes']
);
$update_topic=$db->query("update articles set
art_title='".$topic_array['art_title']."',
art_subtitle='".$topic_array['art_subtitle']."',
art_desc='".$topic_array['art_desc']."',
art_tags='".$topic_array['art_tags']."',
art_download='".$topic_array['art_download']."',
art_yt='".$topic_array['art_yt']."',
art_instructor='".$topic_array['art_instructor']."',
art_com_no='".$topic_array['art_com_no']."',
art_likes='".$topic_array['art_likes']."'
where art_id='$topic_id'
");
}
jquery的:
$(document).ready(function(){
var request;
$("#edit_topic_form").submit(function(event){
if (request) {
request.abort();
}
var $form = $(this);
var $inputs = $form.find("input, select, button, textarea");
var serializedData = $form.serialize();
$inputs.prop("disabled", true);
request = $.ajax({
url: "dashboard.php",
type: "post",
data: serializedData
});
request.done(function (response, textStatus, jqXHR){
// Log a message to the console
alert("تم تعديل الموضوع بنجاح");
});
request.always(function () {
// Reenable the inputs
$inputs.prop("disabled", false);
});
event.preventDefault();
});
})
答案 0 :(得分:0)
尝试使用var_dump($ _ POST)查看是否存在任何POST数据。另外,请确保您的AJAX请求未被重定向到其他页面(例如301重定向)。重定向将导致POST数据丢失。您可以通过Firefox / Chrome中的开发人员工具中的网络窗口观察您的AJAX请求。
对于未更新的数据库,我首先会验证您的POST数据是否正确接收。然后,您可以查看数据库查询的内容(我建议您检查PHP和/或MyQSL错误日志以帮助缩小问题范围)