2011-01-31 5 views
0

Когда я впервые начал веб-разработку с помощью php, при использовании POST у меня была бы страница с формой, содержащей эту информацию, а затем еще одну php-страницу, на которую указывал атрибут action и, следовательно, вся обработка, т. е. работа с базами данных. После создания веб-сайта со многими формами я обнаружил, что собираю много страниц, и это становилось довольно грязным.Форма представления с использованием Ajax/JQuery

Затем я начал искать способ избежать этого. Затем я обнаружил, что могу опубликовать страницу для себя и, следовательно, уменьшить вдвое количество страниц, которые мне нужно было использовать для отправки формы. Я сделал это, используя функцию isset() в php. Проблема в том, что вся страница нуждается в обновлении.

Еще больше в будущем я обнаружил jquery и его использование ajax для отправки форм и т. Д. Это привело меня ко мне оригинальной проблеме с слишком большим количеством страниц и путанию с чем-то. Так что теперь мне интересно (хотя я не совсем уверен, что могу это понять), если есть способ объединить эти два? Может ли jquery использовать ajax для обработки формы, которая указывает на себя?

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

  • Какие взгляды у вас есть на каждом из методов?
  • Каковы плюсы и минусы?
  • Являются ли какие-либо из методов, о которых я говорил, нахмурились/плохой практике?

Этот вопрос меня озадачил какое-то время, и поэтому я подумал, что лучше всего получить мысли от экспертов.

Заранее спасибо.

Adam Holmes.

ответ

1

Ну, ответ довольно прост. JQuery использует AJAX для запроса страниц так же, как и с обычной формой. Таким образом, вы можете использовать jquery для публикации информации из формы на самой странице, а затем, как обычно, с isset() делать все, что захотите. Очевидным преимуществом является то, что вам не нужно обновлять страницу, и все кажется более плавным. Однако иногда вам нужно обновляться в любом случае, например, во время входа в систему. Недостатком является то, что пользователи с отключенным javascript не смогут использовать эту форму, однако по моему опыту это в настоящее время в основном применяется на мобильных устройствах и в ограниченных , Я бы сказал, что использование jquery/ajax для отправки ваших форм - это путь, просто не забудьте предоставить альтернативу javascript-less, если это что-то важное и если вы получаете большой трафик с мобильных устройств.

Кто-то еще, возможно, предоставит более сложный ответ, поэтому возьмите это как небольшое резюме.

1

JQuery может обработать его и отправить в любом месте вы хотите :-)

Вы не thinked об использовании каких-классах и автозагрузки (PHP 5)? - он делает выбор во втором варианте намного проще (somepage.php? class = Foo & ....)

+0

Не могли бы вы объяснить это немного дальше? –

+0

PHP 5 поддерживает это - http://php.net/manual/en/language.oop5.autoload.php. И это - http://php.net/manual/en/function.call-user-func.php. Это упрощает выбор правильной цели из основного сценария.Другое дело - jQuery может отправлять ваши данные формы как обычные $ _POST - поэтому никаких изменений на стороне сервера – SergeS

Смежные вопросы