Отправка формы на другую страницу

При обновлении страницы появляется сообщение повторной отправки формы

<form method="POST" id="formx"  action="city.php" onsubmit="call()">
                <div class="search-container">
                    <div class="row with-forms">
                        <div class="col-md-2">
                            <select data-placeholder="All States" class="chosen-select" name="city">
                            <option value="null">Выберите город</option>
                            <? 
                            $result=mysqli_query($con,"SELECT* from geo_city");
                            while ($row=mysqli_fetch_array($result)){
                                $name=$row['name'];
                                $id=$row['id'];
                                echo "<option value='$id'>$name</option> ";
                            }           
                            ?>                              
                        </select>
                        </div>
                    
                        <div class="col-md-2">
                            <div class="main-search-input" >
                                
                                <button style="margin-left: 0px;" class="button" ><i class="fa fa-search"></i></button>
                            </div>
                        </div>

                    </div>
                </div>

            </div>
        </div>
    </div>

</div>
</form>

 

<script type="text/javascript" language="javascript">
                function call() {
                  var msg   = $('#formx').serialize();
                     $.ajax({
                       type: 'POST',
                       url: 'city.php',
                       data: msg,
                       success: function(data) {
                         $('#results').html(data);
                       },
                       error:  function(xhr, str){
                       alert('Возникла ошибка: ' + xhr.responseCode);
             
                       }
                     });
              
                 }
             </script>

Ответы (1 шт):

Автор решения: fortavey

Думаю стоит отменить дефолтную отправку формы:

onsubmit="call(event)
function call(e) {
  e.preventDefault();
  ...
}

Форма отправляется методом POST и при обновлении страницы происходит повторная попытка отправить форму.

→ Ссылка