Javascript JS$.post在显示结果之前等待响应

Javascript JS$.post在显示结果之前等待响应,javascript,php,ajax,Javascript,Php,Ajax,我是JavaScript新手。我编写了下面的函数将数据发布到PHP页面,然后返回结果。函数运行良好,但有时无法得到结果;我相信这可能是因为它没有等待回应 我尝试为JS寻找等待/延迟函数,但找不到 我发现的一个解决方案建议使用ajax。我试着这么做,但没能成功。也许我还需要修改我的php代码 我的JS代码 <script> $('#room_no').change(function () { var id = "<?php echo intval(isset($_GET

我是JavaScript新手。我编写了下面的函数将数据发布到PHP页面,然后返回结果。函数运行良好,但有时无法得到结果;我相信这可能是因为它没有等待回应

我尝试为JS寻找等待/延迟函数,但找不到

我发现的一个解决方案建议使用ajax。我试着这么做,但没能成功。也许我还需要修改我的php代码

我的JS代码

<script>
$('#room_no').change(function () {

    var id = "<?php echo intval(isset($_GET['id'])); ?>";
    var str = "<?php echo $room_no; ?>"; // "A string here"
    alert(str);
    if (id == 1) {

    } else {

        //Selected value
        var inputValue1 = $(this).val();
        var selected_unit_no = $('#ddlUnitNo').val();

        //Ajax for calling php function
        $.post('room_no_2.php', {
            dropdownValue: inputValue1,
            dropdownValue2: selected_unit_no
        }, function (data) {

            var select = document.getElementById("room_no");
            var rented_as_rooms = data.split(".")[0];
            var rented_room_no = data.split(".")[1];
            var number_of_rooms_in_unit = data.split(".")[2];
            var tenant_name = data.split(".")[3];
            var tenant_rid = data.split(".")[4];
            var tenant_monthly_rent = data.split(".")[5];

            if (rented_as_rooms == 0) {
                document.getElementById("txtRentName").value = '';
                alert('Selected Room Is Empty');
                $('#room_no option')[0].selected = true;

            } else {

                //      select.innerHTML = "";

                document.getElementById("txtRentName").value = tenant_name;
                document.getElementById("txtRent").value = tenant_monthly_rent;
                $("#hdnRentedId").val(tenant_rid);

            }


            //do after submission operation in DOM
        });

    }

});
</script>
On表示“数据类型:“jsonp”请求不支持同步操作。“请尝试将数据类型更改为html。”

并在成功函数旁边添加一个错误函数:

$.ajax({
      type: 'POST',
      data: {var1:valuevar1,var2:valuevar2,etc:etc},
      async: true,
      url: "urlforyourPHPfile",
       success: function(data) {
           //things to do on success
        },
        error: function(data){
            alert("Error");
        },
     contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",
     dataType: 'html'
    });

您的PHP脚本易受SQL注入攻击。
$.ajax({
    url: 'room_no_2.php',
    type: 'POST',
    data: 'dropdownValue=' + inputValue1 + '&dropdownValue2=' + selected_unit_no,
    dataType: 'json',
    success: function (data) {
        alert('ajax completed. Response:  ' + data);
    }
}
$.ajax({
      type: 'POST',
      data: {var1:valuevar1,var2:valuevar2,etc:etc},
      async: true,
      url: "urlforyourPHPfile",
       success: function(data) {
           //things to do on success
        },
        error: function(data){
            alert("Error");
        },
     contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",
     dataType: 'html'
    });