繁体   English   中英

AngularJS WebAPI $ http.get对象值为Null

[英]AngularJS WebAPI $http.get Object values are Null

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

AngularJS控制器代码:

$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);
});

Web Api控制器代码:

 [System.Web.Http.HttpGet, System.Web.Http.ActionName("GetVacancyStatus")]
    public bool GetVacancyStatus([FromUri] employee emp)
    {
        //return repository.GetVacStatus(moveQuery);
        return false;
    }

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

在此处输入图片说明

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

在此处输入图片说明

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

 $http.put('api/Employee/PutEmployee', emp)

在此先感谢您的协助。

您要传递的雇员对象的每个属性必须是一个单独的查询参数。 您必须在JavaScript中执行以下操作:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM