Tag: ajax

RESTful Express Mongoose&Backbone – Backbone model.remove()不起作用

我正在使用Express,Mongoose和Backbone与Marionette开发Node应用程序。 除了删除路由,所有的路由都运行正常。 如果我调用this.model.destroy,我总是得到这个错误: DELETE http://localhost:3000/api/user 404 (Not Found) 在Express的删除路由中,404被返回,就像Express不支持它一样,但是我已经看到了使用它的大量例子。 这是我的设置: mongoose纲要: var UserSchema = new mongoose.Schema( { name: String, email: String, age: Number }); User = mongoose.model('User', UserSchema); ExpressJS路线:(不工作) app.del('/api/user/:id', user.remove); 要么 app.delete('/api/user/:id', user.remove); 这个路由被骨干model.destroy()调用,但是返回错误404。 ExpressJS的user.js控制器:(工作,但没有达到因为以前的404) exports.remove = function(req, res) { var id = req.params.id; User.findById(req.params.id, function(err, user) { user.remove(function(err) { if(err) res.json(err); res.json('all good'); […]

当两个Ajax请求完成时,做callback最简单的方法

我有一个作为API的Node.js应用程序。 我得到一个请求,基于这个动作,我向另一个服务器执行一些ajax请求,caching结果,并把结果发送回客户端。 现在,对于这个新的请求,我需要做两个单独的Ajax调用,并在两个完成时给客户端一个响应。 为了加快速度,如果可能的话,我不想套上它们。 另外,这些ajax请求是棘手的,就像有时候服务器使用我们的方式,或者给出不好的结果,在这种情况下,我recursion地做同样的ajax请求。

(ab)使用node.js作为超级快速轮询和ajax服务器来更新数据库(类似于Google Spreadsheet方法)

我希望我的头衔不要太长 简单的问题/标题: 我应该使用什么设置(Ab)使用node.js作为超级快速轮询和ajax服务器,以便立即更新和仔细检查客户端/服务器端更改? (类似于Google处理多人在特定电子表格中更新多个东西的方法)。 我还没有使用node.js,但在过去做了一些阅读和观看video,并猜测这是(我目前)做我要做的事的正确select(参见标题/上面)。 所以把它想象成我想要build造的房子,但是需要最稳定的基地,这个基地在把房子变成一座整个城堡后不会破坏。 所以下面的代码示例: var http = require('http'); http.createServer(function (req, res) { console.log('request received'); }).listen(9000); 关心'http':是否有一个'spdy'甚至更好的参数,我可以使用它来实现甚至比Google Spreadsheet还要好的构build(可能)更好的目标? 假设我的服务器真棒,等等…. 谢谢 诺伯特

发布多次为ajax的javascript,nodejs,expressjs

它是一个简单的待办事项列表,我想尝试从JavaScript的Ajax。 app.js var express=require('express'); var MongoClient=require('mongodb').MongoClient; var db; MongoClient.connect("mongodb://admin:pass@oceanic.mongohq.com:10070/todo",function(err,database){ if(!err){ console.log("We are connected"); db=database; } }); var app=express(); app.use(express.static(__dirname+'/views')); app.use(express.bodyParser()); app.use(express.logger('dev')); app.set('title','todo'); app.engine('jade',require('jade').__express); // for home page of the website app.get('/',function(req,res){ res.render(index); }); app.post('/additem',function(req,res){ db.collection('todo').insert({'item':req.body.item},function(err,result){ }); console.log(req.body.item); }); app.get('/list',function(req,res){ db.collection('todo').find().toArray(function(err,items){ res.send({'items':items}); }); }); var server = app.listen(3000,function(){ console.log("Listening on port %d",server.address().port); }); 的index.html <html> <head> […]

使用node.js从服务器获取数据

我想通过get方法对ajax调用node.js,ajax调用的结果将显示在同一个html页面中,我称之为ajax函数 这是html代码: <!DOCTYPE html> <html lang="en"> <head> <title>Sing-in Page</title> <link rel="stylesheet" href="css/style.css"> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script> $(function() { $("#myform").bind('ajax:complete', function() { // tasks to do alert('1'); }); }); </script> </head> <body> <form method="get" action="http://localhost:8080/Login" id="myform" class="login"> <p> <label for="login">Email:</label> <input type="text" name="login" id="login" value=""> </p> <p> <label for="password">Password:</label> <input type="password" name="password" id="password" value=""> </p> <p class="login-submit"> […]

节点中的Ajax请求 – 避免页面重新加载

我有一个Ajax请求表单提交调用。 这个想法是保存一个用户的帐户信息,而无需重新加载页面,并给他们一个方便的Flash消息,让他们知道保存是成功的。 我没有保存数据的问题,但我有一个问题,避免在POST上的redirect(与响应数据的白页)。 这是我有: 在我的玉观点 $("form").on("submit", function (e) { e.preventDefault(); // prevent page reload $ajax({ type: "POST", url: '/account', data: $("#accountForm").serialize(), success: function() { // can req.flash even be used here? How might it be? req.flash('info', {msg: 'Your profile has been updated!'}); } } } 在我的控制器 exports.postAccount = function(req, res, next) { var userData = […]

客户端服务器端模板nodejs

我正在使用nodejs在webapp上工作。 我本来只是服务器端HBBS模板,但后来我发现了客户端模板的骨干。 我发现它可以从服务器获取数据,然后使用hbs模板显示,而不是服务器端生成整个html页面并发送。 但是后来我也在某个地方看过,有人build议在客户端有很多的ajax调用来获取数据并显示给一个网页是不好的做法,那么对于服务器的请求就会非常多,页面显得很慢。 所以我想知道是否有一般规则可以为一个页面做多less个请求? 我应该使用经典的一个请求吗? 或者应该是一些客户端JavaScript的,然后从服务器获取数据并显示它们? 谢谢

Ajax /套接字:javascript数组对象的属性丢失

在Javascript中,数组[]也可以具有属性,因为它是一个对象。 但是,如果您通过ajax / socket.io将此对象发送到服务器,则数组内容保留,但其属性会丢失。 例如: var arr = ['john','peter']; arr.a = 1; console.log(arr.a); // 1 在通过ajax发送这个对象之后,服务器看到的是: console.log(arr.a); // undefined 有谁知道为什么? 我使用Node.JS服务器btw,谢谢!

推/authentication404

我正在尝试在本地node.js服务器上使用Pusherbuild立专用通道。 出于某种原因,我不能让我的authterminal玩好,我不断收到404错误。 起初,我认为这是一个问题,我如何定义我的端点相对于本地服务器的位置,但我不认为这是问题。 更有可能的是,我对server-client-api通信的不满意味着我错过了一些大的东西。 我已经浏览了推送器上的authentication文档 ,以及我可以find的每个SO线程,但无济于事。 我已经安装了节点,并且服务器正在运行,并且推送器识别出连接已经build立,我只是在validation失败。 任何帮助都将非常感激。 以下是在index.html点击button时调用的客户端JS: 在client.js中: function startGame(){ var nameinput = prompt("Give your game a name","My Game"); if (nameinput !== null) { var initialsinput = prompt("What are your initials?", "MG"); if (initialsinput !== null) { var pusher = new Pusher(key); Pusher.channel_auth_endpoint = 'http://localhost:8080/pusher/auth.js'; var channel = pusher.subscribe("private-"+gamename); joined = 'client-opponent_joined'+gamename; channel.bind('client-opponent_joined'+gamename, […]

select元素的change()不起作用

我正在学习节点食谱第二版的Nodejs。 我喜欢这本书,因为它正在教我们解释看起来非常实用的示例代码。 示例代码是通过AJAX部分进行浏览器 – 服务器传输的一部分 无论如何,主要的问题是下面是EX代码,下面是index.html文件 <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <script> $.get("http://localhost:8080/profiles",function (profile_names) { $.each(profile_names, function (i, pname) { $("#profiles").append("<option>" + pname + "</option>"); }); }, "json"); $("#formats, #profiles").change(function () { alert("2"); var format = $("#formats").val(); $.get("http://localhost:8080/profile/" + $("#profiles").val() + "." + format, function (profile, stat, jqXHR) { var cT = jqXHR.getResponseHeader("Content-Type"); $("#raw").val(profile); […]