我目前正在使用角度js app运行快速服务器express.js。我使用带有stateprovider和state.go的UI路由器https://github.com/angular-ui/ui-router。
我要求允许在浏览器中输入网址
/getEmployeeDetails/1234
我是否会沿着正确的方向前进,因为可以将以下代码添加到express server.js中以实现此目的,或者我应该在角度应用状态下处理此问题。
app.get('/p/:empId', function(req, res) {
controller.getEmpDetaails(req.params.empId);
state.go("employeeDetailsview")
});
答案 0 :(得分:0)
我不确定在Express服务器中编写角度代码的原因是什么,但您应该将客户端代码与服务器代码分开。
我假设您正在尝试通过服务器上的ID获取一些员工详细信息。 通常的方法是通过从客户端向服务器发送带有ID号的HTTP请求。然后,服务器将处理HTTP请求(可能从数据库中获取一些数据)并将HTTP响应返回给客户端。然后客户端将处理响应并对其执行某些操作。
在你的客户中,你可以这样做:
$http.post('SERVER_URL/getEmployeeDetails/', {'id': 1234})
.then(function(response){
// Response.data will have the data returned from the server
// Do something with it. for example, go to other state and pass the data to it
state.go("employeeDetailsview", {'employee': response.data});
});
以上内容将要求ID为1234的员工并对其进行操作。
在服务器端:
app.post('getEmployeeDetails/', function(req, res) {
var employeeId = req.body.id; // YOU SHOULD USE THE BODY-PARSER MODULE IN ORDER FOR THIS TO WORK.
....
// Do something with ID
....
// Return some data to the client - for example an employee object
res.status(200).json({'data': employeeObject});
});