Tag: node.js

发送OPTIONS和POST的jQuery.ajax,如何处理Express.js(Node.js)

每当我的应用程序向服务器发送ajax请求时: $.ajax({ url: config.api.url + ‘/1/register’, type: ‘POST’, contentType: ‘application/json’, data: /* some JSON data here */, /* Success and error functions here*/ }); 它发送以下两个请求: Request URL:https://api.example.com/1/register Request Method:OPTIONS Status Code:404 Not Found 随后是适当的POST与所有数据。 因为我这样处理路线: expressApp.post(‘/1/register’, UserController.register); 并且没有针对此路线的.options ,它总是在404结束。 几乎所有方法都是一样的。 这个问题在接受的答案之下的两个答案中谈了一点,但我不太清楚该怎么做。 我怎么处理这个? 我应该添加.options路由,如果是的话应该怎么办?

如何从nodejs中获取ajax中的响应

我正在尝试提交表单,然后通过AJAX发送状态success 。 但是当我在提交表单后从NodeJS发送状态时,它没有到达AJAX代码,因为我已经发出了一个alert()语句来检查它是否到达它。 警报未被触发,但它会直接打印我在send(‘this text is printed’)写入的值send(‘this text is printed’) 。 我的test.js文件是 $(document).ready(function() { $(‘#form_submit’).click(function() { $.ajax({ url: ‘/submitForm’, type: ‘POST’, contentType: ‘application/json’, success: function(result) { alert(result.status); if (result.status === “success”) { alert(“success”); window.location = ‘/nextPage’; } else { alert(“failure”); } }, error: function(err) { alert(‘error’); } }) }); }); 我的NodeJS代码如下 app.post(‘/submitForm’, function(req, res) { […]

用查询伪写JSON

我在node.js中有一个小网站,当一个人想要注册时,我们在这里调用一个函数(一个外部文件)我编写JSON的部分: { nouveauMembre = {}; nouveauMembre.pseudo = query.pseudo; nouveauMembre.password = query.password; listeMembre[listeMembre.length] = nouveauMembre; contenu_fichier = JSON.stringify(listeMembre); fs.writeFileSync(“membres.json”, contenu_fichier, ‘utf-8’); } 我们在JSON menbres.json中编写伪和密码,但我想写另一个文件,它调用实际的伪选择(查询) 所以我写道: nouveauMembre = {}; nouveauMembre.pseudo = query.pseudo; nouveauMembre.password = query.password; listeMembre[listeMembre.length] = nouveauMembre; contenu_fichier = JSON.stringify(listeMembre); fs.writeFileSync(“membres.json”, contenu_fichier, ‘utf-8’); AddMembre = {}; AddMembre.pseudo = query.pseudo; AddMembre.email = query.email; AddMembre.nom = query.nom; AddMembre.prenom […]

如何使用节点在我的代码中正确地需要jquery和JSDOM?

我无法使用jquery和JSDOM。 我正在使用已经安装和需要的nightmarejs在atom中编码的节点,并且nightmarejs正常工作。 对于jquery和JSDOM,我做了与nightmarejs相同的事情并使用: npm install jquery –save npm install JSDOM –save 我目前在编码中: var Nightmare = require (‘nightmare’); var nightmare = Nightmare({ show: true , height: 900}); const jsdom = require(“jsdom”); const { JSDOM } = jsdom; require(“jsdom”).env(“”, function(err, window) { if (err) { console.error(err); return; } var $ = require(“jquery”)(window); }); 如果我删除涉及JSDOM和jquery的所有编码,我的编码将起作用但是一旦我需要它们并在终端中运行它我得到错误: require(…).env is not […]

节点没有找到html中包含的js文件

我正在尝试使用node和socket.io构建一个简单的聊天应用程序。 我按照这里列出的教程: http : //socket.io/get-started/chat/ 我的问题是该教程有一些javascript直接放在html中的脚本标记中。 我想将此代码移动到它自己的js文件中。 我创建了一个名为chat.js的文件,它与index.html和index.js位于同一目录中。 在我的HTML中,我将以下代码放在标题中(我也在结束的body标签之前尝试过) 但是,当我在终端中运行节点index.js并转到localhost时,我获得了400的chat.js. 我试过放“/chat.js”以及“./chat.js”没有运气。 所有三个文件都在同一目录中。 任何有关我做错的线索都将受到赞赏。 我的index.js var app = require(‘express’)(); var http = require(‘http’).Server(app); var io = require(‘socket.io’)(http); app.get(‘/’, function(req, res){ res.sendFile(__dirname + ‘/index.html’); }); io.on(‘connection’, function(socket){ socket.on(‘chat message’, function(msg){ io.emit(‘chat message’, msg); }); }); http.listen(3000, function(){ console.log(‘listening on *:3000’); });

dropzone的“tick”标记没有显示?

我一直在使用dropzone上传我的localhost上的图像文件。 一切正常,文件正在上传和保存,但是,进度条不会被刻度线替换。 它留在那里。 这是一个截图 在这种情况下可能是什么问题,这是我的dropzone代码 Dropzone.options.myAwesomeDropzone = { paramName: “userPhoto”, // The name that will be used to transfer the file maxFilesize: 20, // MB maxFiles: 1, acceptedFiles: “.jpeg,.jpg”, dictDefaultMessage: ‘Drag an image here to upload, or click to select one’, accept: function (file, done) { done(); }, };

错误:键$ conditionalHandlers不能以’$’mongodb开头

我有mongodb的问题,尤其是node.js的mongoose包。 我有以下架构: var Schema = mongoose.Schema; var location = new Schema ({ nomville: {type: String, required: true}, description: {type: String, required: true}, quartier: [quartier], critere: [misc], modified: {type: Date, default: Date.now} }); var misc = new Schema ({ publictransp: {type: Number}, culture: {type: Number}, traffic: {type: Number}, nature: {type: Number}, supermarket: {type: Number}, school: {type: […]

Angular $ http.delete CORS错误(预检请求)

我有一个Angular应用程序(v1.13.15)和Express.js(v4.12.4)作为后端。 我的后端有一个DELETE方法,我已经为它启用了CORS支持。 但是,当我使用Angular $ http.delete时,我遇到了这个错误 请求的资源上不存在“Access-Control-Allow-Origin”标头。 我已经尝试过使用Jquery,$ .ajax()调用它,我也遇到了同样的问题! 我也尝试使用POSTMAN来执行DELETE请求,没有问题。 但是,我使用Angular访问我的GET和POST方法没有问题。 我可以知道这是什么问题吗? 我的后端URL http:// localhost:3000 我使用gulp-webserver http:// localhost:8000为我的AngularJS提供服务 我的服务器代码 exports.deleteGPSData = (req, res, next) => { res.header(‘Access-Control-Allow-Origin’, ‘*’); res.header(‘Access-Control-Allow-Methods’, ‘GET, POST, OPTIONS, PUT, PATCH, DELETE’); res.header(‘Access-Control-Allow-Headers’, ‘X-Requested-With,content-type’); let id = req.params.id; res.send(‘here’); } 和我的角色代码 $http.delete(API_URL + ‘/gps/’ + id) .success(function(res) { if (res.result !== 1) { […]

如何实时“用户输入”通知所有聊天

我想用jQuery和PHP编写一个聊天应用程序。 我需要帮助的部分是实时用户“Evx”正在键入消息,然后实时向所有其他用户显示该消息。 这类似于Skype有笔的方式../以及Facebook如何在用户输入时发出通知。 我需要的是有关如何轻松完成“用户正在打字”的实时逻辑步骤和信息的一些帮助,但仍然可以像其他任何方式一样工作。 这是我到目前为止所尝试的: //time delay before ajax call var delay = (function() { var timer = 0; return function(callback, ms) { clearTimeout(timer); timer = setTimeout(callback, ms); }; })(); $(‘#usermsg’).keydown(function() { if ($(‘#usermsg’).val().length === 5) { delay(function() { $.ajax({ url: “addusertyping.php”, cache: false, success: function() { } }); }, 5000); } }); $(‘#usermsg’).keyup(function() { […]

允许cors jQuery POST请求Express.js服务器上的Spotify API

为了在我的Web应用程序中获取Spotify API的访问令牌(由他们的Web授权流程指定),我了解到我必须发出POST请求。 但是,当我这样做时,由于跨源问题,我得到XMLHttpRequest 500 Error 。 我已经知道如何允许CORS GET请求,但我不知道如何对POST请求执行相同的操作。 此链接提供配置提示,但它将GET和POST的实际路由留空。 这是我的Express.js服务器的相关代码: app.use(function(req, res, next) { res.header(“Access-Control-Allow-Origin”, “*”); res.header(“Access-Control-Allow-Headers”, “Origin, X-Requested-With, Content-Type, Accept”); next(); }); app.use(express.static(__dirname + ‘/public’)); // looks in public directory, not root directory (protects files) app.get(‘/’, function(req, res) { // res.header(“Access-Control-Allow-Origin”, “*”); // res.header(“Access-Control-Allow-Headers”, “X-Requested-With”); res.send(__dirname + ‘\\index.html’) }); app.post(‘/’, function(req, res) { res.send(req.body.spotify); […]