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. javascript - 如果所有請求都放到actions 里面,那拿到的數據應該 放在哪里,state 還是vue實例里面的data?2. html - eclipse 標簽錯誤3. 求大神幫我看看是哪里寫錯了 感謝細心解答4. php自學從哪里開始?5. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...6. javascript - 數組原聲方法中的一段代碼7. 數據庫 - MySQL 單表500W+數據,查詢超時,如何優化呢?8. javascript - 怎么實現移動端頁面滑動切換,從1可以滑到2 但是不能從2滑回1 這樣的效果呢?9. phpstady在win10上運行10. phpstudy v8打開數據庫就出錯,而phpstudy 2018不會
