0

在我正在构建的网络应用程序中,有两种方法可以重置密码:从登录页面(用户尚未登录)和通过设置页面。

我正在使用 Laravel Fortify 重置密码,根据您只需发送 POST 请求的文档,/forgot-password将生成并直接发送电子邮件。

当我从重置密码视图(带有 POST 表单的经典刀片)执行此操作时,它工作正常并且我收到了电子邮件。

但是,当我尝试通过设置页面(这是一个 vue 组件)通过带有 email 参数的 Axios 向相同的 url 发送发布请求来实现这一点时,我在302 Found没有收到电子邮件的情况下获得了状态。

这是忘记密码请求刀片视图的代码:

<form  action="/forgot-password" method="POST" class = "py-2 px-2" >
        @csrf
          <div class = "flex items-center justify-between">
            <i class = "fal fa-at px-2"></i>
            <input 
            type = "email"
            name = "email"
            class = "bg-gray-200  px-2 focus:outline-none w-full rounded-md"
            required/>
          </div> 
          <button type="submit" class = "flex items-center justify-between mt-2 bg-gray-100 w-full p-1">
            <span class = "pl-2 text-sm">  {{ __('Send Password Reset Link') }} </span>
            <i class = "fal  fa-chevron-right"></i>
          </button>
      </form>

对于 vue 组件中的方法(从设置页面重置,这是行不通的)

requestNewPwd(){
        axios.post("/forgot-password",{email : this.user.email}).then((resp) => {
            if(resp.status == 200){
                this.reset_pwd_sent = true
            }
        })

    }
4

0 回答 0