无法通过POST在php中获取jquery变量

时间:2016-08-18 11:51:51

标签: php jquery ajax

我在另一个processing.js文件中有这个jquery,并且包含在具有

形式的html文件中
$("#1st_submit").on("click", function(event) {
    var ServiceType =  $("#ServiceType").val();
    var locality = $("#locality").val();
    $.ajax({
        type: "POST",
        url: 'http://localhost/revamp/booking.php',
        data: {
            ServiceType: ServiceType,
            locality: locality
        },
        error: function(req, err){ console.log('my message ' + err); },
        success: function (data) {
            $("#1st_booking_form").hide();
            $("#2nd_booking_form").show();
            console.log(data);
            alert("success");   
        }
    });//ajax
})

在PHP代码中,我以

的形式访问POST变量
$ServiceType = $_POST['ServiceType'];
$locality = $_POST['locality'];

但是我没有在PHP中获取POST值,它是null

带有表单的HTML代码就是这样

<form role="form" method="post" id="1st_book" action="">            
            <div class="row" id="1st_booking_form">

               <div class="col-md-12 col-sm-12">
                      <input class="inputMaterial" id="ServiceType" type="text" value="<?php echo $service_name_s; ?>" name="ServiceType" required>
                       </div>
               <div class="col-md-12 col-sm-12">    
                      <input class="inputMaterial" id="locality" type="text" value="<?php echo $locality_s; ?>" name="locality" required>

                </div>


            <br>
            <center><button type="button" class="btn_full" id="1st_submit"> Book Now </button></center>
            </div>
</form>

整个代码正在使用type:"GET"

2 个答案:

答案 0 :(得分:2)

请注意#1st_submit是链接还是简单按钮?在此事件之后您没有阻止进一步的事件操作,这就是为什么可能会产生问题。

$(document).on("click","#1st_submit", function(e) {
    $.ajax({
        type: "POST",
        url: 'http://localhost/revamp/booking.php', // try url with relative path
        data: {
            ServiceType: $("#ServiceType").val(),
            locality: $("#locality").val()
        },
        error: function(req, err){ console.log('my message ' + err); },
        success: function (data) {
            $("#1st_booking_form").hide();
            $("#2nd_booking_form").show();
            console.log(data);
            alert("success");   
        }
    });//ajax
    return false;
});

如果仍然无法正常工作

检查您是否在.htaccess文件中添加了任何重定向规则,或使用标题(&#39;位置:.....&#39;)可能会导致同样的问题。 ...

答案 1 :(得分:0)

这是我的.htaccess文件中的重定向问题...已添加例外规则,现在它正常运行!