Вы совершенно правы, если отсутствует атрибут href="..."
, ссылка не будет работать без JavaScript.
Обычно JavaScript использует AJAX для связи с сервером: это асинхронный JavaScript и XML. Он связывается с сервером, как если бы вы посещали страницу напрямую, но делает это в фоновом режиме, не меняя страницы, которую показывает браузер.
Эта страница на стороне сервера может затем выполнять любую необходимую вам обработку. В любом случае, это PHP, а не JavaScript.
Основное отличие при обсуждении эффективности заключается в том, что в традиционной модели, где вы POST
заполняете форму на странице PHP, после завершения запроса вы должны отобразить всю страницу как "результат" вместе с * 1011. * и со всем видимым содержимым страницы.
Однако, когда вы выполняете фоновый запрос с AJAX, посетитель никогда не увидит результат. На самом деле, это обычно даже не читаемый человеком результат. В этой модели вам нужно только передать новую информацию, которую JavaScript может использовать для изменения страницы.
Вот почему AJAX обычно рассматривается как «более эффективный», чем традиционная модель: для перемещения данных вперед и назад требуется меньше данных, а браузеру (как правило) требуется меньше работы для отображения данных как части страница. В вашем примере «delete» единственное сообщение - «delete = 777», а затем, возможно, «success = true» (чтобы немного упростить) - небольшое количество информации для передачи для такого большого эффекта!