Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Form submit добавляет параметры запроса в адресную строку (https://javascript.ru/forum/misc/63177-form-submit-dobavlyaet-parametry-zaprosa-v-adresnuyu-stroku.html)

Ozkedko 22.05.2016 09:03

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

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

laimas 22.05.2016 10:12

Цитата:

Сообщение от Ozkedko
при неправильном логине зачем-то добавляются логин и пароль в адресную строку вот так

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

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


Часовой пояс GMT +3, время: 04:07.