想实现选取下拉框后,后台实时查询相关数据,并返回前端显示 前端index.ejs
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> <script src="/javascripts/jquery-2.1.1.min.js"></script> <script type="text/javascript"> function showCustomer(str) { var xmlhttp; if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState ==4 && xmlhttp.status == 200) { document.getElementById("txtHint").innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET","/public/javascripts/func.js?q="+str,true); xmlhttp.send(); } </script> </head> <body><%= title %>
<form action="" style="margin-top:15px;"> <label>请选择一个群组: <select name="groupname" onchange="showCustomer(this.value)" style="font-family:Verdana, Arial, Helvetica, sans-serif;"> <option value="baidu">BAIDU</option> <option value="tencent">TENCENT</option> <option value="ali">ALI</option> </select> </label> </form>查询功能/public/javascripts/func.js
var mongoose = require(‘mongoose’) ;
var models = require(‘./models.js’) ;
var GroupModel = models.Group ;
mongoose.connect(‘mongodb://localhost/mytest’) ;
var getinfo = function(req,res){
var name = req.query.q;
GroupModel.find({groupname:name},function(err,doc){
if(doc != 0){
console.log(‘ooooooo’);//用于测试该函数是否被调用
res.write(doc[0].descriptions);
}
});
};
getinfo();
控制台输出 Express server listening on port 3000 GET / 304 21ms GET /stylesheets/style.css 304 8ms GET /javascripts/jquery-2.1.1.min.js 304 8ms GET /javascripts/func.js 200 12ms - 1006b GET /public/javascripts/func.js?q=baidu 404 2ms 还是没有反应了,也就是func.js并未被调用 请问:node怎么和ajax结合?