Как я использовал бы jQuery для ajaxify форма?

Я пробую к AJAXIFY форму, не используя плагины jQuery. Каков процесс для того, чтобы заставить это произойти. У меня есть своя форма. На что я должен установить действие? Каков сценарий заголовка должен быть? Следует иметь в виду, что я не хочу использовать любые плагины. Мне просто нужен основной алгоритм для форм ajaxifying с помощью jQuery.

7
задан wufwufpoof 11 January 2010 в 16:04
поделиться

3 ответа

Похоже, что метод должен быть статическим (т.е. он не имеет доступа к данным членам и не нуждается в вызове экземпляра). Поскольку вы использовали термин «статический класс», я понимаю, что весь класс, вероятно, посвящен утилитоподобным методам, которые могут быть статичными.

Однако Java не позволяет реализовать метод, определяемый интерфейсом, как статический. Поэтому, когда вы (естественно) пытаетесь сделать метод статичным, вы получаете ошибку «невозможно скрыть-экземпляр-метод». (Спецификация языка Java упоминает об этом в разделе 9,4 : «Обратите внимание, что метод, объявленный в интерфейсе, не должен объявляться статическим, или возникает ошибка компиляции, поскольку статические методы не могут быть абстрактными».

До тех пор, пока метод присутствует в xInterface , а класс реализует xInterface

Если вы не можете изменить интерфейс (или не хотите), вы можете сделать несколько вещей:

  • Сделать класс одиночным: сделать конструктор частным и иметь статический член данных в классе для хранения единственного существующего экземпляра. Таким образом, вы будете вызывать метод для экземпляра, но, по крайней мере, вы не будете создавать новые экземпляры каждый раз, когда вам потребуется вызвать метод.
  • Реализуйте 2 методы в классе: метод экземпляра (как определено в xInterface ) и статический метод. Метод экземпляра будет состоять из одной строки, которая делегирует статический метод.
-121--691428-

Посмотрите на http://ffmpeg.org/ вместе с этим обсуждением http://board.phpbuilder.com/showthread.php?10327812-How-to-install-ffmpeg-php-to-create-thumbnails-from-videos

-121--1228207-

Действие должно быть каким бы оно ни было, если бы вы не использовали JavaScript .

NB: Ссылки ниже переходят к соответствующему разделу документации jQuery)

Затем следует связать функцию с событием submit , которое сериализовало данные формы и использовало их для создания запроса Ajax (вероятно, считывание URI из атрибута действия ). Необходимо предотвратить действие по умолчанию для событий отправки.

Я полагаю, что jQuery устанавливает заголовок X-Requested-With HTTP. Поэтому нужно просто изменить процесс на стороне сервера, чтобы вернуть другие данные, если они присутствуют (с правильным значением). Это может быть так же просто, как просто переключиться на другой вид (если используется образец MVC).

10
ответ дан 6 December 2019 в 21:14
поделиться

Скорее всего, это фиктивные функции, которые кто-то ввел ради краткости. h (), например, выглядит как псевдоним для htmlspecialchars ():

function h($s)
{
    return htmlspecialchars($s);
}

Поэтому найдите их в файлах включения. Espept. имена с такими именами, как «util.php» или «lib.php».

-121--1296723-

В PHP нет функций, называемых h () и e (). Они должны быть объявлены в проекте, с которым вы работаете. искать их и выяснять, что они делают.

-121--1296726-

Самый простой метод - использовать метод $ .load ().

$ .load (действие, данные, обратный вызов)

Действие может быть скриптом PHP, страницей ASP или просто другой веб-страницей. Если данные имеют значение null, выполняется GET. В противном случае выполняется POST. Метод обратного вызова выполняется, когда метод завершен (не обязательно успешен).

http://docs.jquery.com/Ajax/load

Например,

<form>
    $.load("scripts/processOrder.php", { item: itemID, quantity: ordered }, function {
        window.location.href = "orderComplete.htm";
    });
</form>

При отправке формы сценарий processOrder выполняется с идентификатором itemID и упорядоченными аргументами, передаваемыми в качестве данных. После завершения сценария браузер переходит на страницу orderComplete для дополнительной обработки или дисплея состояния.

Если вы хотите получить больший контроль над Ajaxification, вы можете использовать методы $ .get, $ .post или $ .ajax.

2
ответ дан 6 December 2019 в 21:14
поделиться

Это зависит. Если вы просто хотите отправлять свои значения без перезагрузки страницы, я предлагаю привязать событие «Отправить» в виде функции, такой как

jQuery('form#myForm').bind(submitValues);

после этого, вы бы установили функцию

function submitValues() {
   //do stuff here
   jQuery.ajax({
      //your ajax parameters here
   });

   //this is important to cancel the default action on submit (ergo. go to the address as defined in action
   return false;
}

для дальнейшего infos в команде ajax , посмотрите здесь

0
ответ дан 6 December 2019 в 21:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: