我对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开发人员工具):
另一方面,当执行命中WebAPI控制器时,似乎该对象未初始化,我无法确定我做错了什么。
我确实有一个$ 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);
});
提前感谢您的任何帮助。
答案 0 :(得分:2)
要传入的员工对象的每个属性都必须是单独的查询参数。您必须在javascript中执行以下操作:
$http.get('api/Employee/GetVacancyStatus?Id='+thisData[0].Id + '&fName=' + thisData[0].fName)
您无需使用此方法更改控制器。