账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Vue里面发送post失败
    71
    0

    1,发送post服务器报
    [org.springframework.web.servlet.PageNotFound] - Request method 'POST' not supported

    2,html代码

                                <form id="user_login">
                                    <div class="layui-form-item"><label class="layui-form-label">账号</label>
                                        <div class="layui-input-inline"><input type="text" id="user_name" v-model="user_name" name="user_name"
                                                                               required="" lay-verify="required"
                                                                               autocomplete="off" class="layui-input"></div>
                                        <div class="layui-form-mid layui-word-aux">用户名、手机号或者邮箱</div>
                                    </div>
                                    <div class="layui-form-item"><label  class="layui-form-label">密码</label>
                                        <div class="layui-input-inline"><input type="password" id="user_password" v-model="user_password" name="user_password"
                                                                               required="" lay-verify="required"
                                                                               autocomplete="off" class="layui-input"></div>
                                    </div>
                                    <div class="layui-form-item">
                                        <button class="layui-btn" lay-filter="*" lay-submit="" v-on:click="user_login" data-method="offset" data-type="auto">立即登录</button>
                                        <span style="padding-left:20px;"> <a href="/user/forget">忘记密码?</a> </span></div>
                                    <div class="layui-form-item fly-form-app"><span>或者使用社交账号登入</span> <a href="/app/qq"
                                                                                                         onclick="layer.msg('正在通过QQ登入', {icon:16, shade: 0.1, time:0})"
                                                                                                         class="iconfont icon-qq"
                                                                                                         title="QQ登入"></a> <a
                                            href="/app/weibo/" onclick="layer.msg('正在通过微博登入', {icon:16, shade: 0.1, time:0})"
                                            class="iconfont icon-weibo" title="微博登入"></a></div>
                                </form>
                                

    javascript:

        var userLogin = new Vue({
            el: '#user_login',
            data: {
                user_name: "",
                user_phone_mumber:"",
                user_email:"",
                user_password:'',
                account_type:"user_name"
            },
            // 在 `methods` 对象中定义方法
            methods: {
                user_login: function () {
    
                    if ( userLogin.$data.user_name.length() == 11 && isNaN(userLogin.$data.user_name)  )
                    {
                        userLogin.$data.account_type = "user_phone_mumber";
                    }
    
                    if ( isEmail(userLogin.$data.user_name) )
                    {
                        userLogin.$data.account_type = "user_email";
                    }
    
                    axios.post('/SystemManager/userLogin', userLogin.$data)
                        .then(function (response) {
                            if ( response.code == 0 )
                            {
                                console.log(response);
                            }
                            else
                            {
                                var othis = $(this);
                                othis.errorMessage = resultData.message;
                                active[method].call(this, othis);
                            }
                        })
                        .catch(function (error) {
                            console.log(error);
                        })
                }
            }
        })                                
                                
                                
    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 后来你不在 普通会员 1楼

      在Vue中,如果你尝试发送一个POST请求但失败了,可以检查以下几个方面:

      1. 数据格式是否正确:确保你的请求体的数据格式是正确的。例如,如果你正在发送一个JSON数据,你应该使用JSON.stringify()函数将其转换为字符串。如果数据格式不正确,Vue会抛出一个错误。

      2. 拦截器设置:确保你的请求被正确地设置为异步。在Vue中,可以使用async/await语法来实现这一点。例如,如果你正在发送一个POST请求,你可以这样做:

      javascript export default { methods: { async submit() { try { const response = await axios.post('/api/data', this.data); console.log(response.data); } catch (error) { console.error(error); } } }, data() { return { data: { key: 'value' } }; } }

      1. 请求参数:确保你的请求参数被正确地设置。在Vue中,你可以使用URLSearchParams对象来实现这一点。例如:

      javascript export default { methods: { submit() { try { const response = await axios.post('/api/data', new URLSearchParams(this.data)); console.log(response.data); } catch (error) { console.error(error); } } }, data() { return { data: { key: 'value' } }; } }

      1. 调试器:你可以使用Vue的debugger来调试你的请求。例如,你可以这样做:

      javascript export default { methods: { submit() { try { const response = await axios.post('/api/data', new URLSearchParams(this.data)); console.log(response.data); } catch (error) { console.error(error); } debugger; } }, data() { return { data: { key: 'value' } }; } }

      以上都是一些基本的检查点,你可以根据你的具体需求进行修改。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部