How to get data with my angular.js file from node.js restful api in localhost

心已入冬 提交于 2020-01-24 15:41:08

问题


I created main.js for rest api.When I sent request to local server from vericek.js,response did not come back but localserver is showing sending datas in terminal. What is the problem. Thank you

index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title></title>

    <link href="lib/ionic/css/ionic.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">

    <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
    <link href="css/ionic.app.css" rel="stylesheet">
    -->

    <!-- ionic/angularjs js -->
    <script src="lib/ionic/js/ionic.bundle.js"></script>

    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>

    <!-- your app's js -->
    <script src="js/vericek.js"></script>
  </head>
  <body>
      <div ng-app="app" ng-controller="ctrl">
          <button ng-click="getData()">Get Data</button>
          <ul>
              <li ng-repeat="d in data">{{d.id}}</li>
          </ul>  
      </div>    
  </body>
</html>

vericek.js

var app=angular.module("app",[]);
app.controller("ctrl",function($scope, $http) {

    $scope.getData=function() {
        $http.get("http://127.0.0.1:1305/listuser").success(function(response){
            $scope.veriler=response.userInfo;   
       });    
    }
});

main.js / rest api

var express=require("express");
var app=express();
var host="127.0.0.1";
var port="1305";
var fs=require("fs");
app.get("/listuser",function(request,response){

    fs.readFile(__dirname+"/"+"user.json","utf-8",function(error,data){
        if(error){
            response.writeHead(404,{"Content-Type":"text/plain"});
            response.end("Page Not Found");
        } else {
            console.log("sent data:"+data);
            response.writeHead(200,{"Content-Type":"text/json"});
            response.end(data);
        }
    });  
});

var server=app.listen(port,host,function(){
   console.log("Listening port ..");
});

user.json

{
    "userInfo":[
        {
            "id":"1",
            "username":"ali",
            "date":"1.1.2016",
            "post":"this is a post",
            "like":"2",
            "liked":false
        },
        {
            "id":"2",
            "username":"veli",
            "date":"2.3.2015",
            "post":"Everyting nonsense",
            "like":"0",
            "liked":false
        }
    ]
}

回答1:


I think you are using the wrong ending to your response in main.js.

response.end() just ends the response process, it doesn't send any data.

You want to use response.send(data)

See here for a similar question



来源:https://stackoverflow.com/questions/38328464/how-to-get-data-with-my-angular-js-file-from-node-js-restful-api-in-localhost

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!