前台js(film.ejs):
$.ajax({
url:’/film’,
type:‘post’,
data:{data:1},
dataType:‘json’,
success:function(data){
console.log(data);
},
error:function(err){
console.log(err);
}
});
路由js(film.js):
router.post(’/film’,function(req,res){
res.write({‘test’:true},‘utf-8’);
res.end();
});
app.js: var film = require(’./routes/film’); app.use(’/film’,film);
我想的是app.use这个中是包括了get和post请求的,然后我路由中定义好接收post请求的方法,然后前台来请求该路径, 但ajax请求报了404错误,有朋友能指点下嘛?
试试看 app.use(’/’,film); 你的路径可能重复定义了
@evercx 不行,卵的
能把代码格式化么?
bodyparser加了么?
@i5ting express -e 生成的项目,我看到它自己有加上 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); 我的请求404 ,我觉得暂时和这个没关系吧
@i5ting 这么几行代码,不用格式化也能看清楚吧(ps:不会用这个编辑器,没找到放代码块的)
@i5ting 如果阁下知道解决方案的话,麻烦给出一套代码,我自己研究,多谢!
麻烦知道的朋友直接贴前端+后端的代码实例,这样避免口舌之争,多谢
我这里的代码 亲测可行 ajax:
$.ajax({
type:'POST',
url:'/film',
data:{data:1},
dataType:'json',
success:function(data){
console.log(data);
}
});
film.js:
var express = require('express');
var router = express.Router();
router.post('/film', function(req, res, next) {
console.log(req.body);
res.json({msg:'respond with a resource'});
res.end();
});
module.exports = router;
app.js:
var express = require('express');
var film = require('./routes/film');
var app = express();
app.use('/', film);
ajax的url写成/film/film试试
@myesn 我不赞成你的态度,帖子是给人读的,和代码一样,不会用不是理由吧,基本markdown都不会么?
@myesn 自己看https://github.com/i5ting/node-http 这里的post有3种,自己找吧
@i5ting 多谢~
@i5ting (^__^) 嘻嘻……