我为rest api创建了main.js.当我从vericek.js向本地服务器发送请求时,响应没有返回,但localserver显示在终端中发送数据。 问题是什么。 谢谢
<!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>
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;
});
}
});
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 ..");
});
{
"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
}
]
}
答案 0 :(得分:1)
我认为你在main.js中使用了错误的结尾。
response.end()只是结束响应过程,它不会发送任何数据。
您想使用response.send(数据)
请点击此处查看similar question