Вопросы по практическому использованию ajax с jquery - PullRequest
0 голосов
/ 28 октября 2010

Я читал о внедрении ajax с jquery.

Правильно ли я сказал, $.ajax() - единственная функция, которая нам когда-либо нужна?то есть.нам на самом деле не нужны функции $.get $.post?

Наконец, допустим, мы создаем эту форму ajax, мы должны связать функцию $.ajax с кнопкой отправки, используя .click?На самом деле нам не нужно заключать кнопку в тег формы, верно?

До сих пор я видел только уроки по написанию кода jquery с $.ajax.Но я понятия не имею, как это реализовать.Было бы хорошо, если бы было руководство, показывающее полную форму jquery ajax с полными кодами html и jquery.

Ответы [ 5 ]

2 голосов
/ 28 октября 2010

Короткий ответ на ваш вопрос - «да».С $.ajax() вы можете делать все, что можете делать с любыми другими вызовами AJAX в jQuery.Остальные по сути являются ярлыками для выполнения общих задач.

Что касается вашего вопроса о размещении кнопок, вы правы, считая, что вам не нужно фактически размещать кнопку внутри формы.На самом деле, если вы выполняете всю отправку формы через ajax, вам вовсе не обязательно иметь тег формы.Тем не менее, это может сделать вашу разметку более читабельной, и это, безусловно, будет иметь больше смысла эвристически.

Что касается учебника, вот тот, который проходит создание интерфейса AJAX от начала до конца: http://visionmasterdesigns.com/tutorial-ajax-interface-menu-using-jqueryphp/

Удачи!

0 голосов
/ 28 октября 2010

Я часто нахожу сокращенную функцию .load() полезной, поскольку она допускает функции обратного вызова в отличие от .get() или .post().

Но, строго говоря, .load() это просто слегка предварительно настроенный .ajax() вызов,так что да, .ajax() - это все, что вам действительно нужно использовать.

0 голосов
/ 28 октября 2010

Хотя у меня нет полного примера формы AJAX, чтобы показать вам, я могу рассказать вам, как я обычно ее настраиваю.

Я бы обычно строил нормальную форму (с тегами <form> и<button type="submit" name="formSubmit" id="formSubmit">).Тогда форма работает даже без Javascript, понимаете?В вашем jQuery:

$('#formSubmit').click(function() {
    //Do ajax stuff

    return false; // This stops the form from "actually" submitting.
}

Альтернативным селектором будет $('#formName').submit(function).Используйте тот, который имеет смысл.

Чтобы ответить на ваш другой вопрос: Да, $.get() и $.post() являются просто вспомогательными функциями для $.ajax().Они менее мощные, но могут улучшить читабельность вашего кода.

0 голосов
/ 28 октября 2010

.post и .get - это просто сокращенные методы, которые в конечном итоге вызывают .ajax. Вы можете проверить любой учебник по jquery, например http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery Имеет HTML 100 *

0 голосов
/ 28 октября 2010

Правильно $.ajax() - это то, что $.get и $.post использует за сценой.Это всего лишь помощники, чтобы сделать его немного более удобным.Я всегда использую $.ajax().

Также правильно, вам не нужна форма на странице для доступа к элементам DOM с помощью jQuery, чтобы вы могли читать их, а также записывать свои данные из вашего обратного вызова без формы настр.

Я стараюсь сделать кнопку наподобие

<a href="javascript:void(0)" id="partytime">Click me</a>

Затем сделайте что-то вроде следующего в вашей document.ready

$("#partytime").click(function(){
   //put all your ajax fun in here
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...