Reputation: 77
I want to input Id via post method and get data for that Id back from database. I'm currently getting an error "employeeID is not defined" in my controller code.
Controller code:
$scope.employeeID = '10';
function test() {
var getData = myService.getEmployee(employeeID);
getData.then(function (emp) {
$scope.employees2 = emp.data;
}, function () {
alert('Error in getting records');
});
}
test(employeeID);
Service code:
this.getEmployee = function (employeeID) {
var response = $http({
method: "post",
url: "Home/getEmployeeByNo",
params: {
id: JSON.stringify(employeeID)
}
});
return response;
}
HomeController code:
public JsonResult getEmployeeByNo(string EmpNo)
{
using (InsiteEntities dataContext = new InsiteEntities())
{
int no = Convert.ToInt32(EmpNo);
var employeeList = dataContext.Employee.Find(no);
return Json(employeeList, JsonRequestBehavior.AllowGet);
}
}
Upvotes: 1
Views: 44
Reputation: 136144
You should pass EmpNo
parameter inspite of id
parameter in params
object, so that the URL will form like Home/getEmployeeByNo?EmpNo=123
this.getEmployee = function (employeeID) {
var response = $http({
method: "post",
url: "Home/getEmployeeByNo",
params: {
EmpNo: employeeID //changed to `EmpNo`
}
});
return response;
}
Also pass employeeID
from $scope
as describe in Sajeeth's answer
like myService.getEmployee($scope.employeeID);
Upvotes: 1
Reputation: 222582
Change
From
var getData = myService.getEmployee(employeeID);
To
var getData = myService.getEmployee($scope.employeeID);
Upvotes: 1