当前位置:  开发笔记 > 编程语言 > 正文

在POST请求中传递数据

如何解决《在POST请求中传递数据》经验,为你挑选了1个好方法。

我想在POST请求中发布数据.我有一个登录表单,看起来像这样

render(){
        return (
            

Not registered? Request Username and Password

); }

我在handleLoginButtonClick中发出POST请求

handleLoginButtonClick() {
        let token;
        var settings = {
            "async": true,
            "crossDomain": true,
            "url": "https://trigger-backend.appspot.com/auth/login/",
            "method": "POST",
            "credentials": 'include',
            "headers": {
                "content-type": "application/x-www-form-urlencoded",
            },
            "data": {
                "password": JSON.stringify(document.getElementById("password").value),
                "username": JSON.stringify(document.getElementById("username").value)
            },
            success: function( data, textStatus, jQxhr ){
               // alert("success");
            },
        }

        $.ajax(settings).done((response) => {

            token = JSON.stringify(response.auth_token)
            this.context.router.push('/app')
        });

所以我目前正在包含这样的数据

 "data": {
                "password": JSON.stringify(document.getElementById("password").value),
                "username": JSON.stringify(document.getElementById("username").value)
            }

但是api给了我400这样的错误

在此输入图像描述

但与此同时,如果我传递这样的数据,那么它的工作原理

"data": {
                "password": "apurv",
                "username": "Apurv"
            },

这里有什么问题.两者都应该是一样的吧?



1> Darin Dimitr..:

你应该删除JSON.stringify这里的调用,因为它们会在值周围添加不​​必要的双引号,使它们无效:

"data": {
    "password": document.getElementById("password").value,
    "username": document.getElementById("username").value
}

因此,而不是将值apurv作为密码发送"apurv",而不是正确的密码.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有