💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
1. 点击 button 按钮 submit 数据并接收服务端的回应 ```js $('#register_form').on('submit', function (e) { e.preventDefault() // 禁止点击默认的跳转事件 var formData = $(this).serialize() // 获得表单数据,并序列化,是 string 类型 $.ajax({ url: '/register', type: 'post', data: formData, dataType: 'json', // 把 收到的 json 数据转为对象 success: function (data) { var err_code = data.err_code; if(err_code === 0) { alert('注册成功'); } else if (err_code === 1) { alert('用户名或邮箱已被使用') } else if (err_code === 500) { alert('服务器忙,请稍后重试') } } }) }) ``` 2. 服务端接收数据,并做出回应 ```js // 提交注册 router.post('/register', function (req, res) { // 1. 获取表单提交的数据 // req.body // 2. 操作数据库 // 判断该用户是否存在, // 如果已经存在,不允许注册 // 如果不存在,注册新建用户 // 3. 发送响应 // console.log(req.body); var body = req.body; User.findOne({ // email: body.email $or: [ { email: body.email },{ nickname: body.nickname } ] }, function (err, data) { if (err) { return res.status(500).json({ success: false, message: '服务端错误' }); } if (data) { // 邮箱或者昵称已经存在 return res.status(200).json({ err_code: 1, message: 'Email or nickname already exists' }) } new User(body).save(function (err, user) { if (err) { return res.status(500).json({ success: false, message: 'Server error' }) } // Express 提供了一个响应方法:json // 该方法接收一个对象作为参数,它会自动帮你把对象转为字符串再发送给浏览器 res.status(200).json({ err_code: 0, message: 'OK' }); }) }) }) ```