关于Axios的使用问题

Lime
  • 16

今天,我使用Axios写注册的AJAX提交JS,它可以正常的发送请求,但我发现后端完全无法正常接受前端传来的username和password信息,我应该如何修复这个BUG?谢谢。
部分JS代码(jQuery):

var captcha_res_ticket = $.cookie("captcha.res.ticket");
var captcha_res_randstr = $.cookie("captcha.res.randstr");
var username = $("#inputUsername").val();
var email = $("#inputEmail").val();
var password = $("#inputPassword").val();
var repassword = $("#inputRepassword").val();
var agree_user_agreement = $("#agree_user_agreement").is(":checked");
var participate_in_the_user_experience_program = $("#participate_in_the_user_experience_program").is(":checked");

Axios部分代码:

axios({
            url: '/user/user_registration/php/registration.php',
            method: 'post',
            timeout: 3000,
            data: {
                captcha_res_ticket: captcha_res_ticket,
                captcha_res_randstr: captcha_res_randstr,
                username: username,
                email: email,
                password: password
            }
        })

Captcha来自我的验证码API。

回复
阅读 655
2 个回答
✓ 已被采纳

Axios部分代码(JS):

        const params = new URLSearchParams();
        params.append('captcha_res_ticket', captcha_res_ticket);
        params.append('captcha_res_randstr', captcha_res_randstr);
        params.append('username', username);
        params.append('password', password);
        axios({
            url: '/user/user_login/php/login.php',
            method: 'post',
            timeout: 1000,
            data: params
        })

超全局变量 $_POST 无法接受 content-type: application/json 的请求 body 。

解决方案

<?php
echo file_get_contents('php://input');
你知道吗?

宣传栏