我有一个文件shuffleRoute.js,我定义了这个:
router.get("/shuffle?jokers=false", function (req, res) {
cards['a','b','c'];
let shuffledCards = _.shuffle(cards);
res.status(200).send(shuffledCards);
});
我有一个我定义的index.js:
app.get("/v1/game", require("./routes/shuffleRoute.js"));
我有一个game.html,其中onload我需要做一个ajax请求来获取洗牌。我该怎么做?
这样做
$.get( "/v1/game", function(res) {
console.log(res);
});
不起作用。
我收到此错误:
jquery-2.2.4.min.js:4 GET localhost:8080/v1/game 500 (Internal Server Error) –
我使用摩根来记录服务器中的错误信息。
然而,评论出来给了我这个错误。
jquery-2.2.4.min.js:4 GET http://localhost:8080/v1/game 404 (Not Found)
答案 0 :(得分:1)
可能是错的,但我在这里看到了路线问题。
为快速使用app.use
var myRoute = require('PathToYourRouteFile');
app.use("/v1/game", myRoute);
在路线档案中。我假设您使用快速路由器,您需要定义类似这样的东西
youRuoterName.get('/', function(req, res, next) { })
当您转到localhost/v1/game
时,此请求将会成功。
如果你想要另一个,那就去做
youRuoterName.get('/shuffle', function(req, res, next) { })
当您转到/v1/game/shuffle
时,哪些会成功。
在您的示例中,我只看到一条明显与/v1/game/shuffle
不匹配的路由/v1/game
,我甚至不确定其余代码是否按预期工作。
所以请仔细阅读docs http://expressjs.com/en/4x/api.html#router.route 一切都应该奏效。
希望这有帮助。