我是Node.js和anguler.js的新手。我想使用angular.js向网页显示JSON输出。 我的angular.js代码在node.js文件中
test.js
var pg = require('/data /node_modules/pg');
var serverAddress = localhost';
var serverPort = '1337';
var conString = "tcp://myuser:myuser@localhost/mydb";
var client = new pg.Client(conString);
http = require('http');
fs = require('fs');
url = require('url');
path = require("path");
http.createServer(function (req, res) {
console.log("request is--- "+ req.url);;
res.writeHead(200,{"Content-type":"text/html"});
getData(res);
}).listen(serverPort, serverAddress);
function getData(res)
{
client.connect(function(err)
{
if(err){
return console.error('could not connect to postgres', err);}
client.query('select * from countrydata;', function(err, result){
if(err){
return console.error('error running query', err);}
res.write("<html ng-app>");
res.write("<body> Keep it simple....!");
res.write("<script>");
res.write("alert('it work!');");
res.write("</script>");
res.write("<table ng-controller= countryController>");
res.write("<td>{{directory}}</td>");
res.write("</tr>");
res.write("</table>");
res.write("<script
src=\'https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js\'>");
res.write("</script>");
for (var i in result)
{
var records =result[i];
if (i=='rows')
{
var json = JSON.stringify(result[i]);
}
}
res.write("<script>");
res.write("angular.controller(countryController, function($scope) {");
res.write("$scope.directory =" + json);
res.write("});");
res.write("</script>");
res.write("</body>");
client.end();
});
因此,当我运行此test.js时,我在网页上的输出看起来像这样 输出: 把事情简单化....! {{$目录}}
Html视图页面源代码列出了这个 -
保持简单....!{{directory}} https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js>angular.controller(countryController,function( $ scope){$ scope.directory = [{“country_name”:“USA”,“state”:“Alaska”},{“country_name”:“USA”,“state”:“Colorado”},{“country_name” : “USA”, “状态”: “佛罗里达”},{ “COUNTRY_NAME”: “USA”, “状态”: “伊利诺伊州”},{ “COUNTRY_NAME”: “USA”, “状态”: “路易斯安那”}, {“country_name”:“USA”,“state”:“North Carolina”},{“country_name”:“CHINA”,“state”:“SHANGHAI”},{“country_name”:“CHINA”,“state”: “北京”},{ “COUNTRY_NAME”: “意大利”, “状态”: “FLORENCE”},{ “COUNTRY_NAME”: “意大利”, “状态”: “PISA”},{ “COUNTRY_NAME”: “印”, “状态”: “ASSAM”}]});
我不确定为什么Controller不打印$ scope的值。请让我知道如何纠正这个问题。 感谢
答案 0 :(得分:0)
以下是我看到的一些内容:
ng-app
属性angular.controller()
不是API的一部分。我认为您正在尝试使用Module.controller()
,但您必须首先引用可能使用angular.module()
创建的模块<script/>
块中,您应该使用字符串文字作为控制器名称,例如'countryController'。你现在拥有的是一个未定义的变量......因此它将评估为undefined
。<table ng-controller="countryController">
标记中的一些引号(它们不在上面)。Soo ......在你将这个小样本工作之前,你还有一些工作要做: - )