原生ajax传递数据到后台,前后端传数据报错,为什么可以通过Ajax把数据传递到后台,但是控制器也报错?...

Ajax代码:

$(function () {

var $register = $(".register");

var $login = $(".login");

$login.find(".submit").on('click',function () {

});

$register.find('button').on('click', function(){

// 通过ajax提交请求

$.ajax({

type:'post',

url:'/api/user/register',

data:{

username: $register.find('[name="username"]').val(),

password: $register.find('[name="password"]').val(),

repassword: $register.find('[name="repassword"]').val(),

email: $register.find('[name="email"]').val()

},

dataType:'json',

success: function (result) {

console.log(result);

}

});

})

})

后端代码:

/**

* Created by Administrator on 2018/4/16.

*/

var express = require('express');

var router = express.Router();

//统一返回格式

var responseData;

router.use(function (req, res, next) {

responseData = {

code: 0,

message:''

}

next();

});

/*

* 用户注册

* 注册逻辑

*

* 1.用户名不能为空

* 2.密码不能为空

* 3.两次输入密码必须一致

*

* 1.用户名是否已经被注册

* 数据库查询

* */

router.post('/user/register', function (req, res, next) {

var username = req.body.username;

var password = req.body.password;

var repassword = req.body.repassword;

var email = req.body.email;

console.log(username,password,repassword,email);

//用户名是否为空

if(username == ''){

responseData.code = 1;

responseData.message = '用户名不能为空';

res.json(responseData);

return;

}

//密码不能为空

if(password == ''){

responseData.code = 2;

responseData.message = '密码不能为空';

res.json(responseData);

return;

}

// 两次输入的密码不一致

if(password != repassword){

responseData.code = 3;

responseData.message = '两次输入的密码不一致';

res.json(responseData);

return;

}

responseData.message = '注册成功';

res.json(responseData);

});

module.exports = router;

app.js:

/**

* Created by Administrator on 2018/4/16.

* 应用程序的启动(入口)文件

*/

//加载express模块

var express = require('express');

//加载模板处理模块

var swig = require('swig');

//加载数据库

var mongoose = require('mongoose');

//加载body-parser,用来处理post提交过来的数据

var bodyParser = require('body-parser');

//创建app应用=>NodeHS Http.createServer()

var app = express();

//设置静态文件托管

//当用户访问的url以/public开始,那么直接返回对应__dirname + '/public'下的文件

app.use('/public', express.static(__dirname + '/public'));

// app.use('/static', express.static('public'));

//配置应用模板

//定义当前应用所使用的模板引擎

//第一个参数,模板引擎的名称,同时也是模板文件的后缀,第二个参数表示用于解析处理模板内容的方法

app.engine('html', swig.renderFile);

//设置模板文件存放的目录,第一个参数必须是views,第二个参数是目录

app.set('views', './views');

/*注册所使用的模板引擎,第一个参数必须是view engine,第二个参数和app.engine这个方法中定义的模板引擎的名称(第一个参数)是一致的*/

app.set('view engine', 'html');

//在开发过程中,需要取消模板缓存

swig.setDefaults({cache: false});

//bodyparser设置

app.use( bodyParser.urlencoded({extended:true}) );

/*

* 根据不同的功能划分模块

* */

app.use('/admin', require('./routers/admin'));

app.use('/api', require('./routers/api'));

app.use('/', require('./routers/main'));

//监听http请求

mongoose.connect('mongodb://localhost:27017/blog',function (err) {

if(err){

console.log('数据库连接失败');

}else{

console.log('数据库连接成功');

app.listen(8081);

}

});

HTML代码:

用户名:

密码:

确认密码:

邮箱:

注册

报错问题:

bV8KOg?w=1083&h=292

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值