как отключить отображение строки запроса на URL при отправке модальной формы? - PullRequest
0 голосов
/ 10 октября 2019

Я создал модальную форму для отправки однократного ввода текста. Я хочу отправить через ajax без перезагрузки браузера, но всякий раз, когда я отправляю форму, она автоматически закрывается, страница обновляется, и входные данные отображаются на URL, как если бы они были отправлены с помощью метода GET, даже если я объявил тип: "POST",на аяксе. Пожалуйста, помогите мне понять это.

Я использую codeigniter 3.9

html-форму:

               <div class="modal-dialog">
                  <div class="modal-content">
                     <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                        <h4 class="modal-title" id="H3">Update Product Location</h4>
                     </div>
                     <div class="modal-body">
                        <form role="form">
                            <div class="row">
    <div class="col-md-8 form-group"><input class="form-control" name="pincodeloc" id="pincodeloc" placeholder="Enter pincode"/></div>
    <input type="hidden" name="prod_id" id="prod_id" value="" readonly/>
    <div class="col-md-4"><button type="submit" class="btn btn-primary" id="addproductlocbtn">Save</button></div>
                           </div>
                        </form>
                     </div>
                  </div>
               </div>
            </div> 

ajax code:
$("#addproductlocbtn").click(function() {
        addproductlocation();
    }); 

function addproductlocation() {
        var returnval = true;
        if (returnval==true) {
            $.ajax({
                    type: "POST",
                    url: baseUrl + "admin/product/productlocation",
                    data: {
                        pincode: $("#pincodeloc").val(),
                        prodid: $("#prod_id").val()
                    }
                })
                .done(function(msg) {
                    if (msg) {
                        $('#emsg').html('');
                        $("#pincodeloc").val('');
                        $("#prod_id").val('');
                    } else {
                        $('#success_msg').html('');
                        $('#emsg').html('<p>' + msg + '</p>');
                    }
                });
        } else {
            return false;
        }
}

строка запроса на URL выглядит как: www.xyz.com/dashboard/product?pincodeloc=&prod_id=12

Ответы [ 2 ]

2 голосов
/ 10 октября 2019

Если вы не хотите перезагружать страницу, используйте <button type="button">, а не <button type="submit">.

1 голос
/ 10 октября 2019

Используйте форму jquery: https://github.com/jquery-form/form

Или используйте Event.preventDefault ():

$("#addproductlocbtn").click(function(e) {
        e.preventDefault();
        addproductlocation();
});
...