gru*_*uvy 4 javascript jquery post dom node.js
我正在使用node.js.
我想按下一个搜索按钮,对后端的另一台服务器进行一些休息api调用,然后将json返回到前端,并在前端重新加载一个div,这样我就不必刷新页面了.现在我知道我可以用jQuery或只是Javascript dom操作重新加载一个div.
但是如何让它在服务器端调用方法呢?我可以有一个提交按钮,它会发出一个帖子请求,我可以抓住它并从那里进行api调用,但是从node.js那边,当我返回时,我将不得不再次渲染页面.如何在不重新渲染或刷新页面的情况下将JSON从后端返回到前端?
谢谢.
在服务器上大概是这样的:
var app = express.createServer();
app.use(express.bodyParser());
app.post('/search', function(req, res){
search_form = req.body; // <-- search items
MySearch.doSearch(search_form,function(err,items) {
res.send(items);
});
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
你必须实现doSearch代码才能返回你正在搜索的内容....
客户:
<script>
$.ajax( {
url: '/search',
data: search_form,
type: 'POST',
success: function(items) {
/* do something with items here */
// You will likely want a template so you don't have to format the string by hand
for( var item in items ) {
$('#results').append('<div>'+item.interestingField+'</div>);
}
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
以下演示了如何制作基本的AJAX请求.
小提琴:http://jsfiddle.net/tWdhy/1/
$(function(){
$.ajax({
url: '/echo/json/', //the URL to your node.js server that has data
dataType: 'json',
cache: false
}).done(function(data){
//"data" will be JSON. Do what you want with it.
alert(data);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14183 次 |
| 最近记录: |