我正在使用nodejs express框架进行开发。网页有两个按钮
1)提交,调用以下函数:
router.get('/record_enrich_quick/:quick', function(req, res) {
console.trace();
var json_struct={};
json_struct["start_time"]=req.params.quick;
json_struct["end_time"]="now";
json_struct["cookie"]=Math.random().toString();
var data=JSON.stringify(json_struct);
var args={
data:data,
headers: { "Content-Type": "application/json" }
}
//var Rest = require('node-rest-client').Client;
//var client=new Rest();
de_rest_client.post("http://localhost:8080/recordenrich",args,function(data,response){
console.log("Received response from data enrich start");
});
});
2)刷新,调用以下功能
router.get('/getDataEnrich/:from', function(req, res, next) {
var fromValue = req.params.from;
//Calls Elasticsearch and gets the data from it .
});
问题:
当我点击提交时,REST呼叫会一次又一次地重复。
此调用无法从前端开始,即:HTML。原因是我无法在开发人员工具的网络端找到该呼叫。
此外,我在HTML端javascript上有一个调试点,其中" / record_enrich_quick /:quick"被调用,第二次调试器甚至没有指向这里。这意味着有多个其他地方可以多次调用此函数。
总结:
我的多次调用具有休息调用的函数,而调用此函数的按钮只被调用一次。
是否与nodejs事件队列有关?我不确定。
答案 0 :(得分:1)
我终于找到了原因
我提交的部分代码没有响应.end .Below代码解决了我的问题.Lesson是我们不能保持请求挂起
UIGraphicsImageRenderer