Ajax 如何将NodeJS与NodeREST客户端方法结合使用,将动态数据发布到前端HTML
我对NodeJS是个新手,所以希望我能够正确地表达我的问题。我的目标是创建一个NodeJS应用程序,它将使用NodeREST客户端获取数据,并在客户端以HTML异步显示数据 我创建了几个节点rest客户机方法,当前,当用户导航到/getdata页面时,我正在调用我的GET data操作。响应已成功记录到控制台,但我遇到了在/getdata页本身的HTML表中动态填充此数据的最佳方法。我希望遵循节点最佳实践,确保在高用户负载下的耐久性,并最终确保我没有编写垃圾代码 如何将Express路由返回的数据绑定到HTML前端? 我是否应该为每个节点使用单独的router.get路由rest方法? 如何将GET请求绑定到按钮,并使其在单击时获取新数据? 我应该考虑使用SoCKE.IO、ANGLARS JS和AJAX来将数据从服务器端传输到客户端吗? -谢谢你的阅读 这是当前呈现getdata页面并调用my getDomains节点rest客户端方法的路由示例。页面呈现正确,getDomains返回的数据已成功打印到控制台,但是我无法将数据通过管道传输到/getdata页面Ajax 如何将NodeJS与NodeREST客户端方法结合使用,将动态数据发布到前端HTML,ajax,angularjs,node.js,express,Ajax,Angularjs,Node.js,Express,我对NodeJS是个新手,所以希望我能够正确地表达我的问题。我的目标是创建一个NodeJS应用程序,它将使用NodeREST客户端获取数据,并在客户端以HTML异步显示数据 我创建了几个节点rest客户机方法,当前,当用户导航到/getdata页面时,我正在调用我的GET data操作。响应已成功记录到控制台,但我遇到了在/getdata页本身的HTML表中动态填充此数据的最佳方法。我希望遵循节点最佳实践,确保在高用户负载下的耐久性,并最终确保我没有编写垃圾代码 如何将Express路由返回的数
router.get('/getdata', function(req, res) {
res.render('getdata', {title: 'This is the get data page'});
console.log("Rendering:: Starting post requirement");
args = {
headers:{"Cookie":req.session.qcsession,"Accept":"application/xml"},
};
qcclient.methods.getDomains(args, function(data, response){
var theProjectsSTRING = JSON.stringify(data);
var theProjectsJSON = JSON.parse(theProjectsSTRING);
console.log('Processing JSON.Stringify on DATA');
console.log(theProjectsSTRING);
console.log('Processing JSON.Parse on theProjectsSTRING');
console.log('');
console.log('Parsing the array ' + theProjectsJSON.Domains.Domain[0].$.Name );
});
});
我已经开始尝试为我的不同节点rest客户端方法创建几个路由,这些方法将使用res.send返回数据,也许我可以绑定一个AJAX调用,或者使用angularjs解析数据并将其显示给用户
router.get('/domaindata', function(req, res){
var theProjectsSTRING;
var theProjectsJSON;
args = {
headers:{"Cookie": req.session.qcsession,"Accept":"application/xml"},
};
qcclient.methods.getDomains(args, function(data, response){
//console.log(data);
theProjectsSTRING = JSON.stringify(data);
theProjectsJSON = JSON.parse(theProjectsSTRING);
console.log('Processing JSON.Stringify on DATA');
console.log(theProjectsSTRING);
console.log('Processing JSON.Parse on theProjectsSTRING');
console.log('');
console.log('Parsing the array ' + theProjectsJSON.Domains.Domain[0].$.Name );
res.send(theProjectsSTRING);
});
});
我查了你的密码。您正在使用res.render。。和res.send。。。首先,您应该了解基本的请求-响应周期。请求对象提供从路由传递的值,响应将在对请求值进行某种处理后返回值。更具体地说,在express中,您将使用,并且如果值通过html主体传递 因此,所有与响应相关的语句都是res.send..res.json..res.jsonp..res.render。。应该在functionreq,res{…}的末尾,没有其他处理要做,否则会出现错误 根据javascript的现代web应用程序开发实践,RubyonRails、ExpressJS、Django、Play等框架都可以作为REST引擎使用,前端路由逻辑是用javascript编写的。如果您使用的是AngularJS,那么开源会使工作变得非常简单。如果你仔细观察一些流行的MEAN-seed项目,例如,甚至他们使用ExpressJS作为REST引擎,AngularJS在前端完成其余的重量级工作 通常,您将从后端发送JSON数据,以便使用res.JSON。。。要使用端点的数据,可以使用angularjs服务 让我们举一个最简单的例子,您有一个GET/domaindata端点:
router.get('/domaindata',function(req,res){
..
..
res.json({somekey:'somevalue'});
});
在前端,您可以使用angularJS服务访问此服务:
var MyResource = $resource('/domaindata');
MyResource.query(function(results){
$scope.myValue = results;
//myValue variable is now bonded to the view.
});
我建议您研究一下ui前端路由
若您正在寻找示例实现,那个么您可以查看我不久前写的项目,它还可以为您提供使用JSON Web令牌实现登录、会话管理的概述
有很多事情需要了解,如果您需要帮助,请告诉我。谢谢。。。非常有帮助的回答。@Bienabee中尉我很高兴能帮助你。你能帮我一个忙接受这个答案吗。谢谢