Py学习  »  DATABASE

使用php mysql的Ajax post不能正常工作

Muntashir Are Rahi • 4 年前 • 599 次点击  

我需要一个ajax调用将数据发布到数据库,并从数据库中获取数据并实时更新。我有以下代码 HTML表单

 <div class="hover_bkgr_fricc">
        <span class="helper"></span>
        <div>
            <div class="popupCloseButton">&times;</div>
            <p>
                <form>
                    <input type="hidden" name="check_num" value="123" />
                    <p>Please provide more details</p>
                    <input type="text" name="reason" />
                    <a id="submit">Mark Reviewed</a>

                </form>
            </p>
        </div>
    </div>

    <b id="review_result"></b>

    <a class="trigger_popup_fricc">
        <button> Mark Reviewed</button>

    </a>

Javascript块

$(document).ready(function() {
            $(".trigger_popup_fricc").click(function() {
                $('.hover_bkgr_fricc').show();
            });
        $('.popupCloseButton').click(function() {
            $('.hover_bkgr_fricc').hide();
        });

        $('#submit').click(function() {
            var check_num = $('input[name=check_num]').val();
            var reason = $('input[name=reason]').val();

            var form_data =
                'check_num=' + check_num +
                '&reason=' + reason;
            $.ajax({
                url: "loweslinkprocess.php",
                type: "POST",
                data: form_data,
                success: function(html) {
                    //if process.php returned 1/true (send mail success)
                    if (html == 1) {
                        //hide the form
                        $('.hover_bkgr_fricc').fadeOut('slow');
                        $('#review_result').html(data);
                    } else alert('Sorry, unexpected error. Please try again later.');
                }
            });

        });

以及php块

$link = mysqli_connect($HOST, $USER, $PWD, $DB_NAME);


    $check_num = $_POST['check_num'];
    $reason = mysqli_real_escape_string($link, $_POST['reason']);

    $insert = mysqli_query($link, "INSERT INTO `vloer_paylink_reason` (`id`, `check_number`, `reason`) VALUES (DEFAULT, '$check_num', '$reason')");
    $update = mysqli_query($link, "UPDATE vloer_paylink SET reviewed = 1 WHERE check_number ='$check_num'");

    $get_check_data = mysqli_query($link, "SELECT reviewed FROM vloer_paylink WHERE check_number = '$check_num'");
    $check_data = mysqli_fetch_array($get_check_data);
    if($check_data['reviewed']==1){
        echo "Reviewed done";
    } 
    else {
         echo "Not Reviewed done";
    }

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53146
 
599 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Sohail
Reply   •   1 楼
Sohail    4 年前

你正在发送 Reviewed done Not Reviewed done

if (html === 'Reviewed done') {
  //hide the form
  $('.hover_bkgr_fricc').fadeOut('slow');
  $('#review_result').html(data);
} else alert('Sorry, unexpected error. Please try again later.');
Rnayak
Reply   •   2 楼
Rnayak    4 年前
add `.error : function(e){ console.log(e)}` to check error return to ajax call

那么函数将是

$.ajax({ url: "loweslinkprocess.php", type: "POST", data: form_data, success: function(data) { if(data == "Reviewed done") // code goes here }, error : function(e) { console.log(e)} // this will print error });