节点js函数一次又一次的调用

我正在使用nodejs express框架进行我的开发。 该网页有两个button

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。 原因是我无法在开发人员工具的networking端find调用。

另外我有一个HTML端的debugging点,在那里“/ record_enrich_quick /:quick”的函数被调用,第二次debugging器甚至没有指向这里。 这意味着这个函数被多次调用的地方还有其他地方。

总结:

我有一个rest调用的函数被多次调用,而调用这个函数的button只被按下一次。

与nodejs事件队列有关吗? 我不确定。

我终于找出原因了

我提交的部分代码没有回应.end。下面的代码解决了我的问题.Lesson是我们不能保持请求悬挂

 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){ res.end("reqest ends ");//This is was what made everything work }); });