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
}
]
}
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