javascript - 为什么我的 AJAX 每两分钟调用一次?

标签 javascript ajax node.js mongoose

我在使用 POST 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 );
    });

});

来自 Node 的日志:

Node 日志很有趣:第一次保存数据时,其中没有 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 - -

最佳答案

如果由于超时而失败,浏览器将重试请求。由于您从不回复,因此这种情况总会发生。您应该使用 res.end()res.send("success!") 等内容进行响应。

关于javascript - 为什么我的 AJAX 每两分钟调用一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30216997/

相关文章:

javascript - 展开动态树中节点的父节点

javascript匿名函数作用域行为

javascript - 如何使用 javascript 根据您单击的项目从数组中删除特定项目

javascript - 拖放 html 元素或编辑器

jQuery ajax : loading html + applying plugin, ie7

node.js - MongoDB 是否查询客户端操作?

node.js - nodejs v4中默认参数的哪个和谐标志

javascript - 我们如何转换 jQuery remove class from parent in VanillaJS

javascript - Highcharts 不显示具有多个 Y 轴的图形的系列数据

带有 .Ajax()/childNodes 的 Javascript 选择器