账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ajax接收到的json数据是空的
    27
    0

    以下是前端请求代码:

     registerBtn.onclick = function () {
            var  xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function (response) {
                if(xhr.readyState === 4 && xhr.status === 200){
                    console.log(response);
                }
            }
            xhr.open('POST','http://localhost:8081/api/user/register');
            var userInfor = '{"username":"' + username + '","password":"' + password +'"}';
            xhr.send(userInfor);
        }

    以下是用户注册时服务器端将注册提示信息保存到数据库中,

    var express = require('express');
    var router = express.Router();
    var User = require('../models/User');
    router.use(function (req, res, next) {
        responseData = {
            code: '',
            message: ''
        };
        next();
    });
    //用户注册
    router.post('/user/register', function (req, res, next) {
        User.findOne({username: username}).then(function (userInfor) {
            if (userInfor) {
                responseData.code = 3;
                responseData.message = '用户名冲突,请重新输入';
                res.json(responseData);
                return;
            }
        })
    });
    module.exports = router;

    为了篇幅小上面只提供关键代码,问题:

    1. ajax进行POST请求时,能否直接在xnr.send中发送json数据?难不成只能发送序列化后的字符串?

    2. 服务器端接受请求后已经为responseData这个json对象赋值了,为什么前端通过xhr.onreadystatechange收到的还是{"code":"","message":""}

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部