Хорошо, ребята, я знаю, что этот вопрос задавали раньше, но я очень новичок в PHP и JavaScript и даже не слышал об ajax, пока я не начал искать ответ на этот вопрос, поэтому не понимаю предыдущих ответов.
Я создаю сайт, который по сути представляет собой кучу видео в базе данных SQL, он показывает одно видео за раз, я хотел бы иметь следующую и предыдущую видео кнопки.
Однако я не могу пройти мимо этой ajax вещи, поэтому мой вопрос еще проще. Я посмотрел на этот вопрос / ответ и думаю, что это в значительной степени подводит итог тому, что я спрашиваю:
Как запустить PHP-код, когда пользователь нажимает на ссылку?
Я скопировал этот точный код,
<script type="text/javascript"> function doSomething() { $.get("backend.php"); return false; } </script> <a href="#" onclick="doSomething();">Click Me!</a>
И в моем файле backend.php
я буквально только что получил <?php echo "Hello" ?>
Чтобы проверить его, и поэтому я понимаю, что когда я нажимаю на ссылку, запускается событие javascript onClick, которое, в свою очередь, вызывает backend.php
файл, который говорит, чтобы напечатать «Hello» на странице. Однако, когда я нажимаю ссылку, она ничего не делает.
В конце концов, очевидно, что им нужно будет намного усложниться с моими php-функциями и вызовами переменных и всего этого, но мне нравится разбираться в себе по большей части, поэтому я узнаю. Однако я застрял на этом бит. Кроме того, в то время как я здесь, я спрошу еще одну вещь, я хочу «отдать» пользователям сайта для ответа на мои вопросы, но я могу только достаточно хорошо поработать в HTML и CSS, чтобы ответить на вопросы других людей, любые советы о том, найдите более простые вопросы, чтобы я мог ответить на некоторые вопросы.
Заранее спасибо 🙂
Он ничего не делает, потому что вы ничего не делаете с результатом. Я предполагаю, что в примере, который вы взяли, он выполняет некоторую работу и ничего не показывает пользователю. Поэтому, если у вас просто есть какие-то вещи, которые вы хотели запустить на сервере, не возвращая пользователю никакого вывода, вы могли бы просто сделать это, и это сработает.
Пример из документации jQuery .get()
Что ты делаешь:
Пример. Запросите страницу test.php, но игнорируйте результаты возврата.
$.get("test.php");
Что ты хочешь делать:
Пример: Ознакомиться с результатами запроса test.php (HTML или XML, в зависимости от того, что было возвращено).
$.get("test.php", function(data){ alert("Data Loaded: " + data); });
Взгляните на документацию .get()
. Вы используете его неправильно.
Вы должны передавать данные (необязательно) и обрабатывать данные, которые возвращаются, как минимум:
$.get("backend.php", { // data passed to backend.php goes here in // // name: value // // format. OR you can leave it blank. }, function(data) { // data is the return value of backend.php // process data here } );
Если вы передаете данные, вы можете получить их на backend.php
используя $_GET
. В этом случае:
$_GET['name'];
$.get("test.php", { name: "John", time: "2pm" }, function(data) { alert("Data Loaded: " + data); });
Это предупредило бы данные. прямо сейчас, когда функция возвращает false.
$.get('backend.php', function(data) { alert(data); });
Ваш код не будет печатать на странице так, как вы его настроили; вы являетесь частью этого пути, потому что вы вызвали страницу, но ответ должен быть каким-то образом обработан. Если вы откроете инструменты разработчика в Chrome, вы можете щелкнуть на вкладке «Сеть» и посмотреть запрос и ответ, чтобы убедиться, что то, что вы закодировали, действительно работает, но теперь вам нужно где-то отложить ответ.
Передав функцию в качестве второй переменной в $ .get, вы можете сделать свой запрос на странице. Попробуйте что-то вроде этого:
$.get("backend.php", function (data) { $('body').append(data); } );
Ваш код не обрабатывает эти данные. Поэтому вместо этого вы должны использовать следующий код:
$.get("backend.php", function(response) { alert(response); })
Или, чтобы показать эти данные в пользовательском интерфейсе, назначьте его любому элементу html.
Чтобы узнать больше, перейдите по ссылке : jQuery.get ()