node.js - express怎么接收前端ajax请求?
问题描述
1.前端:
$.ajax({ type: 'post',url: ’back.js’,data: '123',success: sssqRverOnSuccess });function sssqRverOnSuccess(data) { console.log(data);}
2.后端:
app.post(’/back.js’, function(err, req, res, next) { res.end(’123’);});
3.back.js的内容
收到请求
4.浏览器控制台:POST http://localhost:3000/back.js 404 (Not Found)
5.服务端控制台POST /back.js 404 32.698 ms - 1257
问题:1.为什么我用get请求可以成功,也就是浏览器控制台输出 “收到请求”。而post不能?
2.url只是一个标识,文件可以不存在(我昨天提的问题里告诉我的https://segmentfault.com/q/10...)。但是为什么会返回我的back.js的内容呢?难道xmlhttprequest和jquery ajax的url代表不一样?
问题解答
回答1:可以尝试一下
ajax({ type:post, url:'/back.js' success:function(data){console.log(data)}})app.post(’/back.js’, function(req, res, next) { res.send(’123’);});
我之前的server都是这样写的

兄弟,你的express没跑起来,不要被PHP误导,nodejs跑起来后,可以理解为 Apache和PHP的组合。你访问的back.js只是静态文件,虽然nodejs也可以配置成fcgi脚本方式响应内容,但那是绕弯路和不科学的做法!建议你按教程走一遍express入门教程,了解APP和路由的概念!
回答3:我以前学的时候写的一段,现在用koa了,express都忘没了req.body就是post进来的东西
router.post(’/doCreate’, function(req, res, next) { var data = new article.articleModel({name : req.body.name,cat : req.body.cat,author : req.body.author,time : moment(Date.now()).format('YYYY-MM-DD HH:mm:ss'),desc : req.body.desc,content : req.body.content }); data.save(function (err, doc) { if (err) {console.log(err);res.redirect(’/article/fail’); } else {console.log(doc + ’数据保存成功’);res.redirect(’/admin/article/list’); } });});
相关文章:
1. html - css导航栏模糊,导航栏固定,随着页面滑动对下方页面产生模糊效果,如何实现?2. java - 输出4个不相等整数之间所有任意三个整数的乘积3. 使用 CSS3 的 Media Query 浏览器会加载其他不同分辨率的 css 文件么4. 前端 - 这段代码一直生效不了,查半天因为 top: 0px; 分号后一个隐藏的东西,也不是占位符...删了就可以生效,这是什么情况。。5. node.js - 如何在vue模板中使用nodeJS?6. 老师们js,链接数据库mysql,一直报错,要怎么解决也!7. css3动画 - css3的侧边栏,侧边栏不能撑满整个屏幕8. css3 - css背景色不填充边框,css怎么写?9. css3 - 如图的flex骰子布局是怎么实现的?10. 求教PHP怎么取这个网址的内容

网公网安备