2015-05-13 66 views
1

我使用POST ajax函数时遇到问题。为什么我的AJAX每两分钟被调用一次?

我正在运行一个由express-generator使用node,express,mongodb,mongoose和jade创建的简单应用程序。在创建了一个将新对象发布到数据库的模块之后,我注意到POST/DELETE请求被多次完成。这种情况发生在“点击式”模式下,并且如果我更改函数以在加载时自动加载。

请注意:该功能只能由用户调用一次 - 浏览器中没有日志。它看起来每2分钟运行一次,我完全不知道为什么。

任何帮助将不胜感激。

Javascript代码:

$('#btn5').on('click', saveFiveDayForecast); 


    saveFiveDayForecast = function() { 

    var random = { 
     city: 'One' 
    } 

    $.ajax({ 
     type: 'post', 
     data: JSON.stringify(random), 
     url: '/fiveDay/', 
     contentType: 'application/json', 
     dataType: 'JSON' 
    }) 

    } 

路由文件:

var express = require('express'); 
var router = express.Router(); 

// DB schema and model setup ---------------------------------------------- 

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

// create 16 day schema 
var fiveDaySchema = new Schema({ 
    city   : String 
}, { collection: 'fiveDayModel' }); 

// create 16 day model for later manipulation in routing files 
var fiveDayModel = mongoose.model('fiveDayModel', fiveDaySchema); 

// END DB schema and model setup ------------------------------------------- 

/* POST */ 
router.post('/', function(req, res) { 
    var time = new Date(); 

    var fiveDayWeatherToSave = new fiveDayModel(req.body); 

    console.log('post in the routing file was fired at: '); 
    console.log(time); 

    fiveDayWeatherToSave.save(function (err, data) { 
     if (err) console.log(err); 
     else console.log('Saved ', data); 
    }); 

}); 

从节点日志:

节点日志是有趣:当数据被保存第一次没有POST线在其中,但仍然保存数据。

post in the routing file was fired at: 
Wed May 13 2015 14:40:06 GMT+0100 (GMT Daylight Time) 
Saved { __v: 0, city: 'One', _id: 55535436f0ee99bc1d790220 } 
POST /fiveDay/ - - ms - - 
post in the routing file was fired at: 
Wed May 13 2015 14:42:06 GMT+0100 (GMT Daylight Time) 
Saved { __v: 0, city: 'One', _id: 555354aef0ee99bc1d790221 } 
POST /fiveDay/ - - ms - - 
+0

你的代码没有理由。 – pabgaran

回答

0

如果由于超时而失败,浏览器将重试请求。既然你永远不会回复回应,这总会发生。您应该回复如res.end()res.send("success!")

+0

谢谢!以前我应该问过这个问题.. – Immonimo

相关问题