更新玉的一部分页面?

我试图进行search,并将结果发送回相同的网站,我有search工作,但我不能得到的结果被送回。 我想要起始站点呈现没有页面重新加载的信息。

如何将search结果发送回index.jade页面而无需更新?

function pagelist(items, res) { var document=''; var db = db_login; if ( items != null){ items.forEach(function(item) { document += '<a href=share/'+item._id+' class="searchElement">' document += item.document document += '</div>' }) if(document != ''){ res.send(document); }else{ } } } 

index.jade

 extends layout block content block child 

child.jade

 extends index block child !{document} 

你可以这样做:

首先,你可以像这样更新你的index.jade

 extends layout block content #content block child 

然后,应该有一些你打电话来获得结果的function。 我会叫它getResults 。 在该函数的callback中,您现在可以执行以下操作:

 getResults(function(results){ document.getElementById("content").innerHTML = results; }); 

我希望有帮助。

UPDATE

我会给你一个完整的例子:

server.js

 var express = require("express"); var i = 0; function getResults(cb){ cb("<div>Result "+(i++)+"</div><div>Result "+(i++)+"</div><div>Result "+(i++)+"</div>"); } var app = express(); app.set("view engine","jade"); app.get("/",function(req,res){ getResults(function(results){ res.render("page",{results:results}); }); }); app.get("/results",function(req,res){ getResults(function(results){ res.writeHead(200,"OK",{"Content-Type":"text/html"}); res.end(results); }); }); app.listen(80); 

意见/ page.jade

 doctype html html head script. function update(){ var req = new XMLHttpRequest(); req.open("GET","/results"); req.onreadystatechange = function(){ if(req.readyState == 4){ document.getElementById("content").innerHTML = req.responseText; } } req.send(); } body #content!= results input(type="button",value="Update",onclick="update()") 

运行它与node server.js并访问本地主机。 你应该从中学习它是如何完成的;)