Ok, also ich bin neu in Express. Ich bin mit Sessions und Ajax-Anrufen beschäftigt, aber das Problem, das ich habe ist, dass, wenn ich meine App laufen, meine Jquery aus irgendeinem Grund nicht funktioniert. Dies ist der Code, den ich habe:jQuery funktioniert nicht in Express JS - NodeJS
app.js
var express = require("express");
var mongoose = require("mongoose");
var bodyParser = require("body-parser");
var session = require('express-session')
var app = express();
app.use(express.static("public")); // I understand this is the directory where I would need to put all my static files: css, js, images, etc.
app.set("view engine", "jade");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
//Set secre pass for the session
app.use(session({secret:'password'}));
app.get("/",function(req, res){
if(req.session.userName){
res.render("admin", {session_name: req.session.userName});
}else{
res.render("home");
}
});
app.post("/example-ajax", function(req, res){
res.send(req.body.email); // return the email that was sent by the client
});
app.post("/log-in", function(req, res){
req.session.userName = req.body.name;
res.redirect("/");
});
app.get("/log-out", function(req, res){
req.session.destroy();
res.redirect("/");
});
app.listen(8080);
admin.jade
extends layout_head.jade
block content
div(class="container")
div(class="row")
div(class="col-lg-6 col-lg-offset-3")
h1 Logged In!!
h3 Logged in as: #[b #{session_name}]
a(href="/log-out") Log Out
br
div(class="btn btn-info testAjax") Test Ajax
script(src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js")
script(href="/css/bootstrap/js/bootstrap.min.js")
script(href="/js/main.js")
main.js
$(document).ready(function(){
alert("Loaded");
$(".testAjax").on("click", function(){
alert("test");
$.ajax({
type: 'POST',
url: '/example-ajax',
data: {
email: "[email protected]"
},
success: function(data){
// data = the email being returned from the server
console.log("Your email is: " + data);
}
});
});
});
So Wie ich schon sagte, die jquery läuft nicht, wenn meine Seite geladen wird oder wenn ich auf die Schaltfläche testAjax klicke. Wenn ich die Konsole überprüfe, gibt es mir keine Fehler, daher weiß ich nicht, was das Problem verursacht.
Meine zweite Frage ist: Ist dies der richtige Weg, um Ajax in Express ruft?
Jede Hilfe wird sehr geschätzt. Vielen Dank.
Skript src und Skript href? sieht aus wie jquery geladen, aber nicht andere Skripte –
@ArtemGorlachev Haha WOW Ich kann nicht glauben, dass ich das nicht gesehen habe! Vielen Dank für Ihren Kommentar. Es funktioniert jetzt. Du solltest die Antwort schreiben, damit ich sie annehmen kann. –