今天,我使用Axios编写了一个注册的AJAX来提交JS,可以正常发送请求,但是我发现后端完全无法接受前端的用户名和密码信息。
我该如何解决?谢谢。
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部分代码(JS):
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
}
})
对不起,我的英语不好。
答案 0 :(得分:0)
$_POST['captcha_res_ticket'];
您尝试使用PHP的默认解析来获取表单数据,但是Axios默认发布JSON(不是标准表单编码)。
请引起您注意Axios manual。
默认情况下,axios将JavaScript对象序列化为JSON。发送数据 改为使用application / x-www-form-urlencoded格式,您可以使用 以下选项之一。
浏览器
在浏览器中,您可以如下使用URLSearchParams API:
const params = new URLSearchParams(); params.append('param1', 'value1'); params.append('param2', 'value2'); axios.post('/foo', params);
…,并继续提供更多信息和示例。