2016-08-28 30 views
0

好的,所以我是Express的新手。我正在搞會議和ajax調用,但我遇到的問題是,每當我運行我的應用程序時,我的jquery因某種原因不起作用。這是我的代碼:jQuery不能使用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); 
      } 
     }); 
    }); 

}); 

所以就像我所說的,當我的頁面加載或當我點擊testAjax按鈕時,jquery不會運行。當我檢查控制檯時,它不會給我任何錯誤,所以我不知道是什麼導致了問題。

我的第二個問題是:這是在Express中進行ajax調用的正確方法嗎?

任何幫助,非常感謝。謝謝。

+4

腳本src和腳本href?看起來像jquery加載,但不是其他腳本 –

+0

@ArtemGorlachev哈哈哇我不敢相信我沒有看到!謝謝你的評論。現在正在工作。你應該寫答案,以便我可以接受它。 –

回答

1

我只需要在腳本標記中將href更改爲src。