осмотренная цель отключена угловая

0

Я делаю небольшое приложение Quiz в Angular.js. Я использую функцию ng-click для тестирования, если ответ, который я выбираю, является правильным или неправильным, используя документ JSON. Когда я нажимаю на anwser и решаю изменить это (true для false или false для true), я получил проверенную цель, отключенную от Google Chrome.

Я пытался использовать Google Chrome без расширения.

index.html

<!DOCTYPE html>
<html ng-app="quizApp" lang="en">
<head>
    <meta charset="UTF-8">
    <title>Quiz</title>
    <link rel="stylesheet" href="css/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-route.min.js"></script>
    <script src="app/app.js"></script>
    <script src="app/quizCtrl.js"></script>
</head>
<body>
    <div class="main">
        <div ng-view></div>
    </div>
</body>
</html>

app.js

var app = angular.module('quizApp', ['ngRoute'])

angular.module('quizApp').config(['$routeProvider', function($routeProvider) {

    var routes = [
        {
            url: '/home',
            template: 'templates/quiz.html',
            controller: 'quizCtrl'
        }
    ];

    routes.forEach(function(r, index) {
        $routeProvider.when(r.url, { templateUrl: r.template, controller: r.controller});
    });

    $routeProvider.otherwise({ redirectTo : '/home' });
}]);

quizCtrl.js

app.controller('quizCtrl', function($scope, $http) {
    $scope.responses = 
        $http({
            method : 'GET',
            url : './data/quiz.json'
        }).then(function successCallBack(data) {
            $scope.datas = data.data;
        }, function errorCallback(data) {
            console.log("Error");
        });
    $scope.result = []; 
    $scope.isTrue = function(response) {
        $scope.json = angular.fromJson(response);
        if ($scope.result.length == 0) {
            if($scope.json.isTrue) {
                        $scope.result.push($scope.json.id, true);
                    }
                    else {
                        $scope.result.push($scope.json.id, false);
                    }   
        }
        else {
            console.log($scope.result.length);
            for (var i = 0; i < $scope.result.length; i++) {
                if ($scope.result[i] == $scope.json.id) {
                    $scope.result.splice(i, 2);
                    if($scope.json.isTrue) {
                            $scope.result.push($scope.json.id, true);
                        }
                        else {
                            $scope.result.push($scope.json.id, false);
                        }
                }
                else {
                    if ($scope.result[i] == true || $scope.result[i] == false) {
                        console.log("do nothing " + i);
                    }
                    else {
                        if($scope.json.isTrue) {
                            $scope.result.push($scope.json.id, true);
                        }
                        else {
                            $scope.result.push($scope.json.id, false);
                        }   
                    }
                }
            }
        }
        console.log($scope.result);
    }
});

Я считаю, что ошибка в моем коде должна быть в этой части кода (потому что он сбой сразу после строки 23 в quizCtrl.js

for (var i = 0; i < $scope.result.length; i++) {
    if ($scope.result[i] == $scope.json.id) {
        $scope.result.splice(i, 2);
        if($scope.json.isTrue) {
            $scope.result.push($scope.json.id, true);
        }
        else {
            $scope.result.push($scope.json.id, false);
        }
    }
    else {
        if ($scope.result[i] == true || $scope.result[i] == false) {              
             console.log("do nothing " + i);
        }
        else {
            if($scope.json.isTrue) {
                $scope.result.push($scope.json.id, true);
            }
            else {
                $scope.result.push($scope.json.id, false);
            }   
        }
    }
}
Теги:

1 ответ

0
Лучший ответ

Я думаю, что ваша конкретная проблема заключается в том, что вы повторяете результат с использованием $scope.result.length а затем в цикле, который вы $scope.result.length на этот массив. Если вы прокомментируете 4 строки в цикле for, которые нажимают на массив, он не прерывается. Поэтому я думаю, что надавливание на массив результатов, который вызывает повторение итерации.

Это может вам помочь.

"Исправлена ошибка с отключенной ошибкой" возникает, когда вы разрабатываете некоторую веб-страницу или некоторый запрос CORS через браузер, и либо файл, к которому вы пытаетесь получить доступ, слишком велик для браузера, чтобы его обрабатывать, либо плагины мешают нашей программе (тот, который мы разрабатываем).

Решение. Попробуйте отключить все плагины или те, которые включают в себя разрешение CORS или отключить те, которые обеспечивают такую же функциональность (например, у вас может быть 2-3 плагина, которые выполняют ту же работу, что позволяет CORS, которые могут мешать). Проверьте файл, к которому вы обращаетесь (конечно, вы можете проверить файл только в том случае, если вы разрабатываете некоторые веб-службы, приложения или некоторые веб-разработки, чтобы файл был локально).

  • 0
    Я использую WAMP для использования ng-route в моем локальном проекте. Это то, о чем ты говоришь?
  • 0
    WAMP не должен иметь никакого значения, у вас есть пример plunkr?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню