Jquery ajax в php, чтобы остановить перезагрузку страницы

Когда я нажимаю ссылку на книгу, он перезагружает страницу и сортирует столбец. Я хочу остановить перезагрузку с помощью ajax ,,, Как?

это мои функции в этом процессе.

эта функция getBook

public function getBooks($start = 0, $limit = 2, $order = "ASC")
{
   $sql_start = $start * $limit;
   $sql_limit = $limit;
   $sql_order_by = $order;

   $query = "SELECT Library.nameOfBook, userBook.book_id, userBook.user_id FROM loginUser JOIN userBook JOIN Library ON userBook.user_id = loginUser.id AND userBook.book_id = Library.id WHERE loginUser.username=:username ORDER BY Library.nameOfBook $sql_order_by LIMIT $sql_start, $sql_limit";
   $statment = $this->db->prepare($query);
   $statment->execute([
       ':username' => $this->username
   ]);
   $result = $statment->fetchAll();

  echo "<table id='myTable' border='1'>

  <tr>
   <th><a id='sorter' href='#'>Books</a></th>
   <th>Action</th>
   </tr>";
   foreach($result as $row){
       echo "<tr>";
       echo "<td>" . $row['nameOfBook'] . "</td>";
       echo "<td>" ."<input type='submit' id='delete".$row['book_id']."-".$row['user_id']."' onclick='deleteBook(this)' name='delete' value='Delete'>" . "</td>";
       echo "</tr>";
    }

   echo "</table>";
   echo "";
   return count($result);
 }

эта функция jquery

<script>
  $(document).ready(function() {
  $( "#sorter" ).click(function() {
    var order_by_value = $('input[name = "order_by"]').val();
    if (order_by_value == "ASC"){
        $('input[name = "order_by"]').val("DESC");
    }
    else {
        $('input[name = "order_by"]').val("ASC");
    }
    $('input[name = "current"]').trigger('click');
 });

 });
</script>
$("#sorter").click(function(e) { e.preventDefault(); ...
mplungjan 22.05.2018 13:46

он все еще обновляет страницу

Second View 22.05.2018 13:54

Поскольку вы нажимаете $('input[name = "current"]'), который тоже является кнопкой отправки, я предполагаю

mplungjan 22.05.2018 13:56

так как я могу решить эту проблему? @mplungjan

Second View 22.05.2018 14:02

Измените все кнопки на type = "button" и все ajax

mplungjan 22.05.2018 14:13
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
186
2

Ответы 2

<script>
  $(document).ready(function() {
  $( "#sorter" ).click(function() {
    var order_by_value = $('input[name = "order_by"]').val();

$.ajax({
                type: 'GET',
                url: 'the url link ',
                data: {
                    'order_by_value': order_by_value         
       },
                success: function (res) {
                    if (res == "ASC"){
                          $('input[name = "order_by"]').val("ASC");
                     }
                    else {
                          $('input[name = "order_by"]').val("DSC");
                         }
                    $('input[name = "current"]').trigger('click');
                 });
                }
        });

</script>

Нет, я не ... я попросил код ajax для решения этой проблемы, я не говорю, что это код ajax.

Second View 21.05.2018 13:25

ваш код выглядит нормально, не могли бы вы дать нам более подробную информацию? подробности ошибки?

BILAL MALIK 21.05.2018 13:36

Я хочу, чтобы страница не обновлялась, когда я нажимал на книгу ссылок, чтобы заказать свою книгу

Second View 21.05.2018 13:45

Щелчок вызовет событие, которое, в свою очередь, вероятно, перезагрузит вашу страницу. Как я уже говорил, если вы разместите свой код, нам будет легче вам помочь.

BILAL MALIK 21.05.2018 14:01

Я пропустил свою функцию, которая находится в таблице, пожалуйста, проверьте код обновления

Second View 21.05.2018 14:08

вы можете войти в "$ (" #sorter ") .click (function () {"? ... если нет, вы можете попробовать это <a href = "#" onclick = "fn()"> нажмите здесь < / а>

BILAL MALIK 21.05.2018 14:13

мой код работает на 100%, но моя проблема, как я уже сказал, я хочу остановить обновление страницы, когда я нажал на книгу ссылок, поэтому я должен использовать ajax, но в моем случае я не знаю, как я могу его использовать.

Second View 21.05.2018 14:17

Ладно, попробуй вот так ...

BILAL MALIK 21.05.2018 14:40

какой URL-адрес вставлен в URL-адрес: в моей ситуации?

Second View 22.05.2018 08:46

я поместил URL-адрес, где функция getBook внутри него ... и она не работает ... теперь не выполнялась сортировка: /

Second View 22.05.2018 08:49

URL в вашем случае - это ссылка, по которой вы отправите свои данные

BILAL MALIK 22.05.2018 10:36

могу я отправить его на UUser.php?

Second View 22.05.2018 10:53

и почему он не поднялся, когда стал спускаться ??

Second View 22.05.2018 11:38

когда я меняю if (res == "ASC") {на if (order_by_value == "ASC") {его работа, но все же обновляю страницу -_-

Second View 22.05.2018 12:19
$("#sorter").click(function(e) { e.preventDefault(); ...
mplungjan 22.05.2018 13:46

да, вы можете отправить его на user.php, изучить синтаксис .... используйте preventDefault, как сказал + mplunghab. В AJAX все, что у вас есть после успеха, находится в параметре res.

BILAL MALIK 22.05.2018 15:05

Во-первых, никогда не перезагружайте страницу, пока не убедитесь, что ajax завершил свой процесс.

Во-вторых, если вы хотите выполнить сортировку с помощью JS, запустите этот код после завершения отправки формы или данных в вашем случае.

Вот как будет выглядеть ваш код ajax с перезагрузкой страницы при завершении

$.ajax({
                type: 'GET',
                url: 'your_page_link.php',//this will be url of your backend page
                data: {
                    'name':name
                    'email':email            
                },// if you are using form then just use .serialize() to submit the form instead of preparing data like this use $("#form_id").serialize()
                success: function (msg) {
                    resp = msg;
                }
        }).done(function(){
             if (resp == your_expected_response){
              window.location.href = "http://stackoverflow.com";
             }else{
              //your error handler
             }
        });

Надеюсь, это будет полезно, не стесняйтесь спрашивать, требуются ли какие-либо разъяснения.

Ваше здоровье!!

Другие вопросы по теме