Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.05.2016, 09:03
Новичок на форуме
Отправить личное сообщение для Ozkedko Посмотреть профиль Найти все сообщения от Ozkedko
 
Регистрация: 22.05.2016
Сообщений: 1

Form submit добавляет параметры запроса в адресную строку
Здравствуйте, я новичок и потому возможно мой вопрос будет звучать глупо, но я действительно не смог разобраться сам.

У меня есть форма с авторизацией.

<form class="login-form">
  <p>
     <label>* Email</label>
     <input type="email" placeholder="Enter Email Address" class="email-input box" name="email">
     <label class="error" for="email"></label>
   </p>

   <p>
      <label>* Password</label>
      <input type="password" placeholder="Enter Password" class="password-input box" name="password">
      <a href="/forgot_password?">Forgot Password</a>
      <label class="error" for="password"></label>
   </p>

   <p><button class="btn" type="submit">Login Now</button></p>
</form>


Есть jquery код, который отправляет данные на сервер

$('.login-form').submit(function () {
        var $form = $(this);

        if ($form.valid()) {
            $.post("/auth/login", $form.serialize())
                .done(function() {
                    window.location = '/';
                })
                .fail(function() {
                    console.log('incorrect email of password failed')
                });
        }
    });


На сервере крутится Laravel, метод авторизации тоже прост.

public function login(LoginRequest $request, Guard $guard) {
        if ($guard->attempt($request->all())) {
            return response('', Response::HTTP_NO_CONTENT);
        } else {
            return response()->json([
                'message' => 'incorrect credentials'
            ], Response::HTTP_UNAUTHORIZED);
        }
    }



Так вот суть проблемы - при неправильном логине зачем-то добавляются логин и пароль в адресную строку вот так
http://localhost:8000/login?email=la...st%40te st.te

Зачем это делается и как можно сделать, чтоб они не добавлялись? Ну или хотя бы как сделать так чтоб будет правильно в данной ситуации?

Последний раз редактировалось Ozkedko, 22.05.2016 в 09:14. Причина: Добавил более корректный вопрос
Ответить с цитированием
  #2 (permalink)  
Старый 22.05.2016, 10:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Ozkedko
при неправильном логине зачем-то добавляются логин и пароль в адресную строку вот так
Это не добавление, а отправка формы "естественным образом", а по умолчанию форма передается методом GET, а это и есть помещение ее полей/значений в url. Нужно отменять отправку:

$('.login-form').submit(function (e) {
    e.preventDefault();
    //далее остальной код
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Показать скрытые блоки через адресную строку ami_moor Общие вопросы Javascript 3 28.09.2015 16:15
Вставить символ "?" в адресную строку ByKraB Общие вопросы Javascript 2 14.09.2012 19:10
form submit ExtJS 4 QuadMan ExtJS 1 11.07.2011 16:57
как подставлять ссылки в адресную строку FRIE AJAX и COMET 5 09.07.2010 16:55
Можно ли изменить адресную строку без перезагрузки страницы (не якорь) Papa Общие вопросы Javascript 2 08.05.2010 03:45