javascript - 工厂 Angular.js 不显示错误消息

标签 javascript .net angularjs

我的代码中有一个工厂方法:-

    (function () {
    var app = angular.module('MyApp', []);  
    app.controller('MYController', function ($scope, CourseDescFactory) {  // here $scope is used for share data between view and controller
        $scope.MyDescCourses = [];
        CourseDescFactory.OurCourses().then(function (d) {
            $scope.MyDescCourses = d.data;
            $scope.MainHeading = $scope.MyDescCourses[0].CD.MainHeading;
            $scope.MainDesc = $scope.MyDescCourses[0].CD.MainDesc;
            $scope.MainImg = $scope.MyDescCourses[0].CD.Img;

            $scope.MySubDescCourses = [];
            $scope.MySubDescCourses = $scope.MyDescCourses[0].CSD;
            //$scope.Img = $scope.MyDescCourses[0].Img;
        }, function (error) {
            alert('Cannot Load Course Detail');
        });
    })
.factory('CourseDescFactory', function ($http) {
    var CourseDescList = {};
    CourseDescList.OurCourses = function (id) {
        return $http({
            method: 'GET',
            url: '/Home/CourseDesc',
            params: {}
        });
    }
    return CourseDescList;
});

})();

当我有来自后端的数据时,这工作正常。但是当没有数据时,而不是显示alert('Cannot Load Course Detail');它会抛出错误“无法读取未定义的属性‘CD’”。

任何帮助将不胜感激。

最佳答案

最好使用以下命令检查您的响应变量(即“数据”)及其内部内容。

     if (
         (d.data != undefined) && (d.data != null) && (d.data != "") 
        )

关于javascript - 工厂 Angular.js 不显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48218378/

相关文章:

javascript - 使用 jquery 编辑文本

javascript - 当我调用 ajax 时,我的全部内容都加载到该 div 中

c# - C# 的浮点比较函数

javascript - 如何获取 Angular 中的行单击事件?

javascript - 如何使用 CachedResourceLoader 作为 Angular2 中 $templateCache 的等效机制?

javascript - 防止图像加载错误进入 javascript 控制台

javascript - 如何测量nodejs中异步函数的执行时间?

c# - 从流中读取失败 - mysql_native_password 错误

c# - 使用 WebClient/HttpWebRequest 从 https 检索 XML - WP7

AngularJS 如何使用浏览器语言检测?