【问题标题】:How to return data from web api controller using angularjs?如何使用 angularjs 从 web api 控制器返回数据?
【发布时间】:2017-02-01 06:21:08
【问题描述】:

您好,我正在开发一个带有 angularjs 应用程序的 web api。我正在做文件上传模块。文件上传完成后,我在返回对象时遇到问题。

以下是我将文件相关数据保存到数据库的 api 代码,如果成功,我将返回对象。

NCT_FileUpload obj = new NCT_FileUpload();
obj.file_path = uploadPath;
obj.user_id =9;

entityObject.NCT_FileUpload.Add(obj);
int result = entityObject.SaveChanges();
if (result == 1)
{
    return Request.CreateResponse<NCT_FileUpload>(HttpStatusCode.OK, obj);
}
else
{
    return Request.CreateErrorResponse(HttpStatusCode.NotFound, "1");
}

这是我的 angularjs 代码。

$scope.uploadFiles = function () {
    $scope.uploading = true;
    uploadService.uploadFiles($scope)
        // then() called when uploadFiles gets back
        .then(function (data) {
            // promise fulfilled
            $scope.uploading = false;
            if (data === '') {
                alert("Done!!!")
                $scope.formdata = new FormData();
                $scope.data = [];
                $scope.countFiles = '';
                $scope.$apply;
            } else {
                alert("Shit, What happended up there!!! " + data);
            }
        }, function (error) {
            $scope.uploading = false;
            //Server Error
            alert("Shit2, What happended up there!!! " + error);
        }
    );
};

下面是我在angularjs中的服务代码

if (typeof response.data === 'string') {
    return response.data;
} else {
    return $q.reject(response.data);
}

这里我想检查对象而不是字符串。

我可以将数据保存在服务器中,如果我将以下代码放入 api 控制器中,我可以显示完成。但我正在返回对象,所以我的数据不会为空。目前我的错误功能正在执行。我想在成功函数中处理从 api 返回的对象。有没有办法做到这一点?任何帮助,将不胜感激。谢谢。

 return new HttpResponseMessage(HttpStatusCode.OK) ;

【问题讨论】:

    标签: angularjs asp.net-web-api


    【解决方案1】:

    我认为这里的问题是泛型参数。改变这个:

    return Request.CreateResponse<NCT_FileUpload>(HttpStatusCode.OK, obj);
    

    到这里:

    return Request.CreateResponse(HttpStatusCode.OK, obj);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      相关资源
      最近更新 更多