代码没经过任何修改,交替出现404和200,奇怪
日志: GET /status 200 6ms GET /status 404 4ms GET /status 200 6ms GET /status 404 4ms GET /status 200 12ms GET /status 404 2ms GET /status 200 5ms
代码没有任何修改,刷新就变,而且是交替出现,有遇到过么
6 回复
用正则做路由,app.all(/^/(\w+)(/(\w+))?$/ig, function(req, res, next){
奇怪,不用正则没事。如:app.all("/:module/:id?", function(req, res, next){
因为正则对象有个lastIndex属性,如果下次使用相同的正则变量来匹配时,但是没有将lastIndex置为0,就有可能出现上面的情况,这个算是一个坑吧。 参考这里:http://www.w3school.com.cn/js/jsref_lastindex_regexp.asp
或者你应该去掉正则后面那个g属性,这样就不会受lastIndex的影响了
用的express?推荐rrestjs!
@leizongmin 不明白为什么刷新会交替出现匹配不上,而且很规则,我一会儿试试取消g试试。你的意思是上一次请求匹配的正则会对下一次请求产生影响么?