请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

/movie 不能正常显示内容,页面一直显示 Not Found。默认返回404解决不了

/movie  这个路由转不过去,不能正常显示内容,页面一直显示 Not Found。

var app = new Koa()
var Router = require('koa-router')
var router = new Router()
var game = require('./app/controllers/game')

router.get('/movie', game.movie)

app
  .use(router.routes())
  .use(router.allowedMethods())
var wx = require('../../wechat/index')

exports.movie = function* (next) {
	var wechatApi = wx.getWechat()

	var data = yield wechatApi.fetchAccessToken()
	var access_token = data.access_token
	var ticketData = yield wechatApi.fetchTicket(access_token) 
	var ticket = ticketData.ticket
	var url = this.href

	var params = sign(ticket, url)

	console.log('SDK-data:' + JSON.stringify(params))

	this.body = ejs.render(tpl,params)

}

在Koa中status的状态码,默认是404,如果status在整个Request/Response周期没有发生变化,那么就意味这个Request就是404,如果在Request/Response周期内改变status,那么status就是200.

不太明白这句话的意思,这边的game.movie 没有让Request/Response周期发生变化吗?求指点

正在回答

2回答

是不是 koa 的版本太新了,用 koa 1.2.0 的版本试试,因为新版本需要配合 async 使用


另外,看看是不是项目中有多个 router,导致没成功,这个看上去奇怪,感觉是哪个小环节出了问题

1 回复 有任何疑惑可以回复我~
  • 提问者 任勉之 #1
    非常感谢老师指点!
    回复 有任何疑惑可以回复我~ 2017-06-26 22:29:14
  • 老师,您的教程koa是1.0的,现在koa-router官方api是koa2.0的写法,感觉我们现在跟着旧版本学容易采坑,后面能不能把您的代码进行升级下koa2呢
    回复 有任何疑惑可以回复我~ 2017-11-17 15:02:52
  • Scott 回复 vincents #3
    可以的
    回复 有任何疑惑可以回复我~ 2017-11-18 14:31:52
提问者 任勉之 2017-06-25 11:13:10

router.get('/movie', function *(next){ 。。。}) ,不会进到 function *(next){ 。。。},里面,知道的大神麻烦请指点一下,谢谢了。

0 回复 有任何疑惑可以回复我~
  • 像老师说的,升级一下koa吧   版本问题导致.use(router)没成功
    回复 有任何疑惑可以回复我~ 2017-11-17 14:40:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信