Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 如何将NodeJS与NodeREST客户端方法结合使用,将动态数据发布到前端HTML_Ajax_Angularjs_Node.js_Express - Fatal编程技术网

Ajax 如何将NodeJS与NodeREST客户端方法结合使用,将动态数据发布到前端HTML

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路由返回的数

我对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页面

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中尉我很高兴能帮助你。你能帮我一个忙接受这个答案吗。谢谢