AngularJs向服务传递参数

AngularJs向服务传递参数,angularjs,model-view-controller,Angularjs,Model View Controller,我想通过post方法输入Id,并从数据库中获取该Id的数据。我当前在控制器代码中收到一个错误“employeeID未定义” 控制器代码: $scope.employeeID = '10'; function test() { var getData = myService.getEmployee(employeeID); getData.then(function (emp) { $scope.employees2 = emp.data; }, fu

我想通过post方法输入Id,并从数据库中获取该Id的数据。我当前在控制器代码中收到一个错误“employeeID未定义”

控制器代码:

$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);
this.getEmployee = function (employeeID) {
    var response = $http({
        method: "post",
        url: "Home/getEmployeeByNo",
        params: {
            id: JSON.stringify(employeeID)
        }
    });
    return response;
}
    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);
        }
    }
服务代码:

$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);
this.getEmployee = function (employeeID) {
    var response = $http({
        method: "post",
        url: "Home/getEmployeeByNo",
        params: {
            id: JSON.stringify(employeeID)
        }
    });
    return response;
}
    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);
        }
    }
家庭控制器代码:

$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);
this.getEmployee = function (employeeID) {
    var response = $http({
        method: "post",
        url: "Home/getEmployeeByNo",
        params: {
            id: JSON.stringify(employeeID)
        }
    });
    return response;
}
    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);
        }
    }
改变


您应该在
params
对象中传递
EmpNo
参数,而不是
id
参数,这样URL的形式就像
Home/getEmployeeByNo?EmpNo=123

this.getEmployee = function (employeeID) {
    var response = $http({
        method: "post",
        url: "Home/getEmployeeByNo",
        params: {
            EmpNo: employeeID //changed to `EmpNo`
        }
    });
    return response;
}

还可以从
$scope
传递
employeeID
,如like
myService.getEmployee($scope.employeeID)中所述

你从功能测试中得到了什么?@neela将此答案标记为正确,如果有帮助,谢谢;)