首页 > 解决方案 > 使用 JWT 发布请求

问题描述

我有一个发布的路由, jwt 在/verify/:token哪里:token,但在我看来,表单发送一个发布请求/verify/:token,然后在我的路由逻辑中我得到一个无效的 jwt,因为:token正在发送,我该如何解决这个问题?

<form action="/verify/:token" method="POST">
    <div class="input-group form-group">
        <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
        <input id="passcode" type="text" class="form-control" name="passcode" placeholder="Pass Code" required>
    </div>
    <button type="submit" class="btn btn-primary" style="display: inline-block;">Verify</button>
</form>

标签: node.jsjwt

解决方案


假设您在客户端有 jQuery,您必须在提交时阻止表单的默认操作。然后你必须通过获取input字段的值来发送 ajax 请求

$('form').submit(function(e){
    //prevent default
    e.preventDefault();

    let token = $('#passcode').val();
    let url = "/verify/" + token;
    $.post( url, function( data ) {
        // Do something once the ajax call succeeds
    }).fail(function() {
         alert( "error" );
    });
});

推荐阅读