我有一个回复ajax请求的node.js服务器,我点击了网页并发送了一个ajax调用并且它运行了该函数但偶尔服务器冻结,有时正在执行ctrl+c
解冻它并继续处理请求,有时它没有,我必须重新启动它。
代码:
app.use(function(req, res, next) {
console.log("Header");
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
console.log("Header sent!")
});
app.get('/', function (req, res) {
r.getSubreddit('HighRes').getRandomSubmission().then(function(post){
if(post.url.includes(".jpg")){
currentUrl = post.url;
console.log(currentUrl);
res.send(currentUrl);
res.end();
} else{
console.log("Wrong format");
}
});
console.log("Got request");
//res.end();
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
答案 0 :(得分:1)
您的/
路线存在一些问题。如果url包含jpg
,则表示您正在返回响应,但在其他情况下,您没有返回任何内容。因此,您的请求处于等待状态。
请尝试以下代码。
app.get('/', function (req, res) {
r.getSubreddit('HighRes').getRandomSubmission().then(function(post){
if(post.url.includes(".jpg")){
currentUrl = post.url;
console.log(currentUrl);
res.send(currentUrl);
} else{
console.log("Wrong format");
res.send('Wrong format'); //you should return something here too
}
});
});