AngularJS WebAPI $ http.get对象值为Null

时间:2017-03-02 20:52:22

标签: c# angularjs asp.net-web-api

我对WebAPI / AngularJS相对较新,并且在使用$ http.get()从AngularJS控制器向WebAPI控制器传递对象时遇到问题。

AngularJS控制器代码:

Execute SQL task

Web Api控制器代码:

CREATE TABLE #TblTemp(Column1 varchar(50), .....)

INSERT INTO #TblTemp(Column1 varchar(50), .....)
EXEC Stored_Procedure_1

INSERT INTO #TblTemp(Column1 varchar(50), .....)
EXEC Stored_Procedure_2

SELECT * FROM #TblTemp

当我调试代码时,该对象似乎填充在AngularJS控制器中(至少从查看我的Chrome开发人员工具):

enter image description here

另一方面,当执行命中WebAPI控制器时,似乎该对象未初始化,我无法确定我做错了什么。

enter image description here

我确实有一个$ http.put()似乎正在传递像这样的对象:

$http.get('api/Employee/GetVacancyStatus?emp='+thisData[0])
.then(function (response, success) {
    if (response.data == false){
        alert("cube/office occupied");
    }
    else // continue with employee move
    {
        do some stuff...
    }
}, function (response, error) {
   alert(response);
});

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:2)

要传入的员工对象的每个属性都必须是单独的查询参数。您必须在javascript中执行以下操作:

$http.get('api/Employee/GetVacancyStatus?Id='+thisData[0].Id + '&fName=' + thisData[0].fName)

您无需使用此方法更改控制器。