如何使用节点JS jQuery的自动完成 [英] How to use jquery autocomplete with node js
本文介绍了如何使用节点JS jQuery的自动完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想实现与节点休息服务jQuery的自动完成,但我可以得到它的工作。
I am trying to implement the jquery autocomplete with a node rest service, but I can get it work.
这是我的源$ C $ C:
This my source code:
自动完成:
$('#search').autocomplete({
source: function (req, res) {
$.ajax({
url: "http://www.example.com:3000/autocomplete",
dataType: "jsonp",
type: "GET",
data: {
term: req.term
},
success: function (data) {
res($.map(data.results, function (item) {
return {
label: item.id,
value: item.id
};
}));
},
error: function (xhr) {
alert(xhr.status + ' : ' + xhr.statusText);
}
});
}
});
节点服务
exports.find = function(req, res) {
var b=req.params.term;
console.log(b);
db.collection('publication', function(err, collection) {
collection.find({type:'pub',content: new RegExp(b, 'i') }).limit(5).toArray(function(err, items) {
res.jsonp(items);
});
});
};
乙出现在未定义的控制台和自动完成不工作
b appears undefined in the console and the autocomplete does not work
推荐答案
如果有人需要它
index.js
var express = require('express'),
autocomplete=require('./routes/autocomplete');
var app = express();
app.configure(function () {
app.use(express.logger('dev')); /* 'default', 'short', 'tiny', 'dev' */
app.use(express.bodyParser());
});
app.get('/autocomplete/:search',autocomplete.find);
app.listen(6000);
console.log('Listening on port 3000...');
autocomplete.js
var mongo = require('mongodb');
var Server = mongo.Server,
Db = mongo.Db,
BSON = mongo.BSONPure;
var server = new Server('localhost', 27017, {auto_reconnect: true});
db = new Db('redsocial', server);
db.open(function(err, db) {
if (!err) {
console.log("Connected to 'mydb' database");
db.collection('publication', {strict: true}, function(err, collection) {
if (err) {
console.log("error");
}
});
}
});
exports.find = function(req, res) {
var b=req.params.search;
db.collection('publication', function(err, collection) {
collection.find({type:'pub',content: new RegExp(b,'i')}).limit(5).toArray(function(err, items) {
res.jsonp(items);
});
});
};
的jQuery
$('#search').autocomplete({
source: function(req,res) {
$.ajax({
url: "http://www.ejemplo.com:3000/autocomplete/"+req.term,
dataType: "jsonp",
type: "GET",
data: {
term: req.term
},
success: function(data) {
res($.map(data, function(item) {
return {
label: item.text,//text comes from a collection of mongo
value: item.text
};
}));
},
error: function(xhr) {
alert(xhr.status + ' : ' + xhr.statusText);
}
});
},
select: function(event, ui) {
}
});
来源$ C $ C: 链接
这篇关于如何使用节点JS jQuery的自动完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文