Articles of express

jQuery和Express – 成功和错误混合起来

这是一个基本的问题,但它一直在唠叨我一会儿,到目前为止我找不到任何匹配的问题。 所以,如果太简单或重复,我们表示歉意。 我有一个API路由(基于Express),我打电话给这条路线使用jQuery AJAX调用。 这是一个简单的存根来演示设置 $.ajax({ url: "http://localhost:3000/admin/items/" + itemId, type: "POST", dataType: "json", data: itemData, contentType: "application/json", success: function(result){alert(result);}, error: function(xhr, ajaxOptions, thrownError){ alert("Could not update item details. Please try again later. Error: " + xhr.statusText); } }); 从服务器,我确认返回的状态码是200,这是执行: collection.update({ _id : mongo.ObjectID(req.params.id) }, req.body, function(err, result) { if(err){ console.log("Error is: " + err); […]

Express / Node.js错误:参考错误:Res未定义

我正在尝试为我的团队应用程序创build一个基本的CRUD应用程序,但是我遇到了一些基本问题。 为了构build我的crud应用程序,我正在使用node.js,express和mongodb。 我在使用部分代码时遇到了一些麻烦,我想知道是否可以指引我朝着正确的方向发展。 (这是一个冗长的问题,我尽我所能来格式化,以免它在阅读的时候灼伤你的眼睛…对不起,如果很难读) 上下文:供参考我使用这个: https://zellwk.com/blog/crud-express-mongodb/, currently on "Showing quotes to users" 我的问题:每次我初始化res.render(视图,本地人)我的节点服务器崩溃。 这是我得到的错误。 res.render(view, locals) ReferenceError: res is not defined at Object.<anonymous> (C:\Users\hcqph\xx\xcxx\server.js:35:1) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:393:7) at startup (bootstrap_node.js:150:9) at bootstrap_node.js:508:3 我的代码:这是我到目前为止server.js。 现在,每当我尝试导入我的index.ejs文件,每当我尝试导入下面的行时,我得到一个错误: res.render(views, locals) 这是我的代码为server.js […]

仅当数据库不存在时才将数据添加到数据库(节点js)

我试图添加新的数据到数据库,只是如果它不存在。我要求用户input名称,如果名称已经存在,他/她不能input相应的数据,并显示错误“已经存在”。 这就是我要做的 – app.post("/new",function(req,res){ Model.find({"name":req.body.name},function(err,persons){ if(err!=null) { req.flash("error","Already Exists"); res.redirect("/new");} if(err==null) { Model.create(req.body.person,function(err,newPerson){ if(err){console.log("Error");} else{ newPerson.name=req.user.name; newPerson.id=req.user._id; newPerson.save(); res.redirect("/");} });} }); }); 但是,当我使用这个,即使我input已经存在的数据,它仍然将其添加到数据库。 我使用快递,节点js和mongodb

每次我做一个新项目,我应该安装快递,节点等?

我有一些概念问题,作为AngularJS的新手。 我一直在做一个连接Mongodb和Express和Node.js的项目。 如果我将继续制作将Mongodb与Express和Node.js结合的项目,以及使用AngularJS构build网站的其他项目,那么我应该在哪里存储我的express,node.js等的安装? 这样的项目是否会有不同的依赖项,因为每个项目都需要一些不同的JavaScript库? (如果是这样的话,我认为每次创build一个新项目时都要安装javascript库)。

res.send()在function代码在节点js中执行之前执行

我是节点js的新手。 在我的应用程序中,我正在查询MySql数据库并使用节点j处理和查看处理结果。 如果我的查询返回空数据,然后我做另一个查询,并执行该过程。 但是我的res.send(finaldate)代码在function过程完成之前就被执行了。 如何解决这个问题。 res.send(finaldata)在“do require stuff for finaldata”之前执行。 var finaldata ={}; //first query var result = connection.query('myquery', function(err, data_rows){ if(!err){ //second //doing one more Query for some other records from DB (second query) connection.query('myquery', function(err, rows, fields){ if(0 < rows.length){ finaldata = //do require stuff for finaldata } else{ //third //do the second […]

为什么网页如果有404就永远加载?

我有一个用Heroku托pipe的Express.js / Node.js网站。 如果找不到文件,服务器应该发送一个404错误(像大多数网站一样)。 但是我的代码中的error handling程序无法正常工作。 当客户端请求一个不存在的文件,页面将加载…并加载…并加载…永远。 当检测到文件无法find时,如何使服务器停止加载? 这是我的JavaScript的第一部分: var express = require('express'); // Express.js var app = express(); var http = require('http'); var server = http.createServer(app); var bodyParser = require('body-parser'); var postgres = require('pg'); // Postgres database app.use(express.static('static', { extensions: ['html'] })); app.all('*', function (request, response, next) { var redirectURL = request.query.redirect; if (redirectURL […]

如何使用第二节点服务器运行独立的express.js应用程序?

我想build立第二个node.js服务器来运行一个express.js应用程序,它是我当前的html(客户端)和js(服务器端)文件的一个完全独立的副本。 原因是我想在生产环境中部署当前的代码,这个代码在开发环境中处理当前的代码时,可以被团队使用,不会被closures。 我的担心是,我已经添加了我的当前node.js服务器到我的path,我不知道如果安装第二个node.js服务器我的命令启动第二台服务器将干扰我保存在node.js服务器我的pathvariables。 在问我的问题之前,有几件事要知道: 我正在使用Linux发行版的机器上工作。 我正在使用Express.js路由 我正在使用说明在以下位置安装node.js和express.js的另一个实例: www.vultr.com/docs/installing-node-js-and-express 我的问题如下: 这是否像安装节点一样简单,并按照上述链接中的说明进入新目录并从新path运行,而不将其存储在我的pathvariables中? 是否有更好更有效的方法来创build生产和开发环境,以便我的团队可以使用我已经构build的应用程序,而不会干扰当前的节点实例,同时确保在生产环境中部署应用程序的时间达到100% 一旦第二台服务器被实例化,我如何从我的terminal进行调用,以便它不打开/closures我从pathvariables运行的原始节点服务器? 考虑到上面的链接是如何从头开始和在Ubuntu上(我在CentOS – Gnome上)如何安装节点和expression,有没有更好的“如何”,我应该用来完成第二个节点,并表示安装? 当为第二个节点/快递服务器创build新的端口来侦听时,我可以select4位数的任何数字,还是有一组特定的数字可以更有效地使用? 我已经在我的开发环境中使用了Port:3000。 感谢您的指导。

从NodeJS / Express发送JSON响应

对于这个问题我很抱歉,所以我希望你们能把我放在正确的方向。 我正在制作一个应用程序,通过NODEJS从REST API检索数据。 (这是一个成功的作品)。 然后,我有一个监听URL(我自己的API),通过转到浏览器http:// localhost / api或使用POSTMAN来调用。 到目前为止,我看到在控制台(NODE控制台),我的请求得到处理完美,因为我看到的JSON响应,但是,我也想看到在浏览器或POSTMAN的JSON响应作为JSON响应,而不仅仅是控制台我知道我错过了我的(简单)代码中的东西,但我刚刚开始….请帮我在这里是我的代码。 var express = require("express"); var app = express(); const request = require('request'); const options = { url: 'https://jsonplaceholder.typicode.com/posts', method: 'GET', headers: { 'Accept': 'application/json', 'Accept-Charset': 'utf-8', } }; app.get("/api", function(req, res) { request(options, function(err, res, body) { var json = JSON.parse(body); console.log(json); }); res.send(request.json) }); app.listen(3000, […]

从angular度控制器发布到节点

好吧,我不明白这是怎么回事,在本地工作,但不在我的服务器上。 我有一个angular度控制器发布到我的节点服务器。 每次我尝试运行触发我得到的post的function POST http://www.mysite.co.uk/mm3/back-end/savephotos 404(未find) 我真的失去了,我改写了5次我找不到问题。 如果有人可以看到哪里出错了,请帮忙。 angular度控制器 MM3 \ JS \ controller.js //all photos've been pushed now sending it to back end $timeout(function () { $http.post('back-end/savephoto', $scope.photosToPhp).then(function (success) { $scope.generating = false; $scope.generateBtn = 'Generate'; //creating mock up gallery for (var x = 0; x < success.data.photos; x++) { var file = '/mm3/tmp/' […]

在knex中迁移表:存储媒体,图像或blob

我正在尝试将关系迁移到我的postgres数据库。 问题是我不知道图像使用什么值types。 exports.up = function (knex, Promise) => { return knex.schema.createTable('observations', (table) => { table.increments(); table.integer('user_id').notNullable(); table.blob('image').notNullable(); //??? table.string('category').notNullable(); table.string('description').notNullable(); table.boolean('approved').notNullable().defaultTo(false); table.float('latitude').notNullable(); table.float('longitude').notNullable(); table.timestamp('created_at').defaultTo(knex.fn.now()); }); }; 我以为会有一个“blob”文件types,但在文档中似乎没有迁移任何媒体的迹象。 请帮帮我。