Разве очень плохо устанавливать метод формы на ajax
при отправке формы с помощью jquery ajax, например, так?
HTML:
<form method="ajax" action="scriptName">
<input type="submit" name="submit" value="submit">
</form>
JS:
$("form[method=ajax]").submit(function(e){ // <--
e.preventDefault();
/* ... */
});
Это работает, но есть много вещей, которые работают, но не обязательно, нужно делать только потому, что, кажется, все в порядке.
Ajax-скрипт выполняет script.exe.php
, который будет обрабатывать запрос. Этот файл обнаруживает запросы $_GET['script']
и $_POST['script']
, а затем включает соответствующий скрипт из белого списка.
Тот же самый файл, script.exe.php
, также включен в начале index.php
.
if($_REQUEST['script']){ include 'script.exe.php'; }
?script=
(не показан выше) является необязательным в атрибуте действия формы при запросе ajax. Но не для не-AJAX-запроса. Но добавление его к обоим может предотвратить полный сбой, если JavaScript не активирован.
Поскольку, если что-то выходит из строя и по какой-то причине форма отправляется без ajax, я предполагаю, что форма будет отправлена и вызовет перенаправление страницы на то, что находится в атрибуте действия. Что было бы ?script=scriptName
.
И так как это действие будет обнаружено $_REQUEST['script']
. Форма будет отправлена как ожидалось?
Конечно, я мог бы предоставить класс для обнаружения JavaScript вместо использования атрибута формы. Как и обычные люди.
<form class="ajax" action="?script=scriptName">
$("form.ajax").submit(function(e){
Здесь я просто спрашиваю. Я бы с удовольствием знал, какую опасность это может иметь на практике. Или если это не имеет большого значения ...