簡體   English   中英

登錄POST請求到REST API無效

[英]Login POST request to REST API does not work

我正在從客戶端向API端點發出發布請求。 成功登錄后,API將返回JWT令牌。

在Postman上發送請求時,API可以正常工作,如下圖所示:

郵遞員要求

但是,當我嘗試使用AJAX請求從客戶端發出此請求以將JWT保存在客戶端的本地存儲中時,該請求甚至沒有出現在日志中。 因此,我認為我的AJAX調用有問題。

這是客戶端代碼:

<script type="text/javascript">
        $('#button1').click(function(e){
            e.preventDefault();
            $.ajax({
                type: 'POST',
                data: {email: "test1@reg.ru", password: "123"},
                contentType: "application/x-www-form-urlencoded",
                url: 'http://localhost:3000/api/login',
                success : function(data){
                    localStorage.setItem('token', data.token);
                    alert('ok');
                },
                error: function(result) {
                    alert('error');
                }
            });
        });

</script>

<button id="button1">Test API login</button>

我究竟做錯了什么?

選擇器不正確。 $('button1').click更改$('button1').click $('#button1').click

嘗試在ajax請求中添加dataType: json屬性,可能返回值的模式不正確,因此將執行錯誤回調。

@charlietfl正確指出“ javascript運行時該按鈕不存在”。

因此,當我將代碼更改為:

<script type="text/javascript">
    $(document).ready(function() {
        $('#button1').click(function(e) {
            e.preventDefault();
            $.ajax({
                type: 'POST',
                data: {
                    email: $('#inputEmail').val(),
                    password: $('#inputPassword').val()
                },
                url: 'http://localhost:3000/api/login',
                success: function (result) {
                    alert("success");
                },
                error: function (result) {
                    alert("error");
                }
            });
        });
    });

</script>

它開始工作。

謝謝大家的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM