So verwenden Sie AJAX in Node.js

Blog

So verwenden Sie AJAX in Node.js

Einführung



In diesem Beitrag sehen wir, wie man Ajax in Node.js verwendet






Den Ordner einrichten



Um einen Ordner zu erstellen, öffnen Sie die Eingabeaufforderung und geben Sie cmd . ein mkdir gefolgt vom Ordnernamen



#mkdir ajax






Wechseln Sie in den Ordner, indem Sie cmd . eingeben CD gefolgt vom Ordnernamen

pandas groupby Wert zählt

#cd ajax

Knoten im Ordner einrichten

Geben Sie in der Konsole den folgenden Befehl ein

#npm init -y

Dadurch wird ein Paket.json Datei, was bedeutet, dass der Knoten im Ordner initialisiert wird.

die package.json wird so aussehen

{ 'name': 'ajax', 'version': '1.0.0', 'description': '', 'main': 'index.js', 'scripts': { 'test': 'echo 'Error: no test specified' && exit 1' }, 'keywords': [], 'author': '', 'license': 'ISC' } }

**Pakete installieren **

Um eine Anwendung zu erstellen, müssen wir Pakete installieren.

Um Pakete zu installieren, müssen wir eingeben npm installieren gefolgt vom Paketnamen.

#npm install body-parser express ejs mungo jquery

Nach der Installation von Paketen Paket.json Datei wird so aussehen.

{ 'name': 'ajax', 'version': '1.0.0', 'description': '', 'main': 'index.js', 'scripts': { 'test': 'echo 'Error: no test specified' && exit 1' }, 'keywords': [], 'author': '', 'license': 'ISC', 'dependencies': { 'body-parser': '^1.19.0', 'ejs': '^3.0.1', 'express': '^4.17.1', 'jquery': '^3.4.1', 'mongoose': '^5.9.2' } }

Ordner hinzufügen

Wir müssen 3 neue Ordner hinzufügen.

  • Modelle
  • Routen
  • Ansichten
  • öffentlich

Modelle

Fügen Sie diesem Ordner eine neue Datei hinzu und benennen Sie sie task.js

Fügen Sie in der Datei task.js den folgenden Code hinzu.

  • task.js
var mongoose = require('mongoose'); var taskSchema = new mongoose.Schema({ task:{ type:String } }); var taskModel = module.exports = mongoose.model('task',taskSchema); module.exports.addTask = (task,cb)=>{ task.save((err,taskData)=>{ if(err){ cb(err,null); }else{ cb(null,taskData); } }); } module.exports.getTask = (cb)=>{ taskModel.find((err,taskData)=>{ if(err){ cb(err,null); }else{ cb(null,taskData); } }); } module.exports.removeTask = (id,cb)=>{ taskModel.deleteOne({'_id':id},(err,taskData)=>{ if(err){ cb(err,null); }else{ cb(null,taskData); } }); }

Routen

Fügen Sie die neue Datei im Ordner hinzu und benennen Sie sie taskroute.js

Fügen Sie in taskroute.js den folgenden Code hinzu

  • taskroute.js
var express = require('express'); var taskModel = require('../models/task'); var router = express.Router(); router.get('/home',(req,res)=>{ res.render('demo'); }); router.post('/addtask',(req,res)=>{ var taskk = new taskModel({ task:req.body.task }); taskModel.addTask(taskk,(err,taskData)=>{ if(err){ res.json({msg:'error'}); }else{ res.json({msg:'success'}); } }); }); router.get('/gettask',(req,res)=>{ taskModel.getTask((err,taskData)=>{ if(err){ res.json({msg:'error'}); }else{ res.json({msg:'success',data:taskData}); } }); }); router.delete('/removetask',(req,res)=>{ taskModel.removeTask(req.body.id,(err,taskData)=>{ if(err){ res.json({msg:'error'}); }else{ res.json({msg:'success'}); } }); }); module.exports = router;

**Ansichten **

Fügen Sie eine neue Datei hinzu und nennen Sie sie demo.ejs

  • demo.ejs
Document
ToDo List
Enter The Task Add Task
s.no Task delete

Öffentlich

Fügen Sie eine neue Datei hinzu und nennen Sie sie data.js.
Fügen Sie in data.js den folgenden Code hinzu.
Diese enthält unseren Jquery-Ajax-Code.

  • data.js
$(document).ready(function(){ alert('application started'); getdata(); $('.addbtn').click(function(){ var task = $('#task').val(); $.ajax({ url:'/task/addtask', method:'post', dataType:'json', data:{'task':task}, success:function(response){ if(response.msg=='success'){ alert('task added successfully'); getdata(); $('#task').val('') }else{ alert('some error occurred try again'); } }, error:function(response){ alert('server error occured') } }); }); $(document).on('click','button.del',function(){ var id = $(this).parent().find('button.del').val(); $.ajax({ url:'/task/removetask', method:'delete', dataType:'json', data:{'id':id}, success:function(response){ if(response.msg=='success'){ alert('data deleted'); getdata(); }else{ alert('data not get deleted'); } }, error:function(response){ alert('server error') } }); }); function getdata(){ $.ajax({ url:'/task/gettask', method:'get', dataType:'json', success:function(response){ if(response.msg=='success'){ $('tr.taskrow').remove() if(response.data==undefined || response.data==null || response.data==''){ $('.tblData').hide(); }else{ $('.tblData').show(); $.each(response.data,function(index,data){ var url = url+data._id; index+=1; $('tbody').append(''+ index +''+data.task+''+'delete'+''); }); } } }, error:function(response){ alert('server error'); } }); } });

Einstiegspunkt

Fügen Sie eine neue Datei im Projektordner hinzu und benennen Sie sie app.js.

Dies wird der Einstiegspunkt unserer Anwendung sein.

  • app.js
var express = require('express'); var mongoose = require('mongoose'); var bodyParser = require('body-parser'); var path = require('path'); var $ = require('jquery'); //connect to db mongoose.connect('mongodb://localhost:27017/ajaxdemo',{useNewUrlParser:true}) .then(()=>console.log('connected to db')) .catch((err)=>console.log('connection error',err)) //init app var app = express(); //set the template engine app.set('view engine','ejs'); //fetch data from the request app.use(bodyParser.urlencoded({extended:false})); //set the path of the jquery file to be used from the node_module jquery package app.use('/jquery',express.static(path.join(__dirname+'/node_modules/jquery/dist/'))); //set static folder(public) path app.use(express.static(path.join(__dirname+'/public'))); //default page load app.get('/',(req,res)=>{ res.redirect('/task/home'); }); //routes app.use('/task',require('./routes/taskroute')); //assign port var port = process.env.PORT || 3000; app.listen(port,()=>console.log('server run at port '+port));

Öffnen Sie nun die Datei package.json und in Skripte hinzufügen start : Knoten app.js

Die Paket.json wird so aussehen.

{ 'name': 'ajax', 'version': '1.0.0', 'description': '', 'main': 'index.js', 'scripts': { 'test': 'echo 'Error: no test specified' && exit 1', 'start': 'node app.js' }, 'keywords': [], 'author': '', 'license': 'ISC', 'dependencies': { 'body-parser': '^1.19.0', 'ejs': '^3.0.1', 'express': '^4.17.1', 'jquery': '^3.4.1', 'mongoose': '^5.9.2' } }

Laden Sie den Code herunter von Hier

Video-Tutorial ansehen

Vielen Dank fürs Lesen!

#node-js #mongodb #ajax #tutorial