用ajax发布php数组值

时间:2015-03-11 22:46:27

标签: php arrays ajax

我试图使用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();
});




    })

1 个答案:

答案 0 :(得分:0)

尝试使用var_dump($ _ POST)查看是否存在任何POST数据。另外,请确保您的AJAX请求未被重定向到其他页面(例如301重定向)。重定向将导致POST数据丢失。您可以通过Firefox / Chrome中的开发人员工具中的网络窗口观察您的AJAX请求。

对于未更新的数据库,我首先会验证您的POST数据是否正确接收。然后,您可以查看数据库查询的内容(我建议您检查PHP和/或MyQSL错误日志以帮助缩小问题范围)