post-formでnameとpasswordを送信してログイン認証するAPIを叩き、認証に成功すればmypageにリダイレクトする処理を実装したいです。
正しいnameとpasswordの組み合わせでも、”500 Internal Server Error”が返ってきてアラートが表示されてしまいます。
vue
1<template> 2 <div class="login userAdmin"> 3 <form class="form-signin" @submit.prevent="submitForm" action=""> 4 <img class="mb-4" src="" alt="" width="72" height="72" /> 5 <h1 class="h3 mb-3 font-weight-normal">ログインする</h1> 6 7 <label for="name" class="sr-only">ユーザー名</label> 8 <input 9 v-model="name" 10 type="name" 11 id="name" 12 class="form-control" 13 placeholder="ユーザー名" 14 required 15 autofocus 16 /> 17 18 <label for="password" class="sr-only">パスワード</label> 19 <input 20 v-model="password" 21 type="password" 22 id="password" 23 class="form-control" 24 placeholder="パスワード" 25 required 26 /> 27 28 <button class="btn btn-lg btn-primary btn-block" type="submit"> 29 ログイン</button><br /> 30 <p>あるいは<router-link to="register">登録する</router-link></p> 31 </form> 32 </div> 33</template> 34 35<script> 36import axios from "axios"; 37export default { 38 data() { 39 return { 40 name: "", 41 password: "", 42 }; 43 }, 44 methods: { 45 submitForm() { 46 axios 47 .post("/login", { 48 name: "meow", 49 password: "nemnem", 50 }) 51 .then((res) => { 52 next({ path: "/mypage" }); 53 }) 54 .catch((error) => { 55 alert("ユーザー名もしくはパスワードが違います"); 56 }); 57 }, 58 }, 59}; 60</script>
Postmanでname・passwordのvalueを上記コードと同じ値にしてform-dataとして送信すると成功し、"200 OK"が返ってきています。
config/index.jsでバックエンド側のポートに接続しています。
URIが間違っていないことはgetができているので確認済みです。
この方法ではform-dataとして送信できないのでしょうか。
バージョン・バックエンド情報
Vue v2.9.6
Bootstrap-Vueを使用しています。
バックエンドはGolang(FWとしてginを使用)で書いています。
回答1件
あなたの回答
tips
プレビュー