Javascript ошибок при использовании JQuery в нескольких местах скрипта - PullRequest
0 голосов
/ 21 марта 2020

Это мой первый пост, поэтому будьте осторожны, если я нарушаю нормы ...

Два дня go, я пошел в свой проект VS для одного из наших веб-приложений. Это приложение ASP .CORE 3.0, которое используется уже более 6 месяцев. Мне нужно настроить функцию в скрипте. Сделав небольшое изменение в функции, я больше не мог запускать проект. После включения отладки скриптов я мог видеть синтаксические ошибки javascript во второй строке кода (используя библиотеку стороннего поставщика). Я удалил ссылку на этот код, и теперь он содержит ошибки в другой строке. Заметил, что один, теперь ошибки в другой строке ... просто стандартный оператор, назначающий функцию с оператором =>. Я пробовал буквально десятки хаков, чтобы посмотреть, смогу ли я выделить проблему. Независимо от того, что я делаю, я получаю всевозможные синтаксические ошибки из фона jQuery. Я также снял рабочую версию страницы и вставил ее обратно в проект, чтобы убедиться, что что-то не изменилось. Я совершенно сбит с толку.

Я даже создал совершенно новый проект и почти ничего не написал, просто пустая страница, пытающаяся использовать одну функцию javascript ... все еще ошибки.

Это страница. Вывод компилятора ниже.


<html>

<head>
    <meta charset="UTF-8">
    <title>Cottrell ERP Query</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="/css/bootstrap.min.css">
    <link rel="stylesheet" href="/css/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <!--<script src="js/jquery-3.2.1.slim.min.js"></script>-->
    <script src="/js/bootstrap.min.js"></script>
    <script src="/js/dbr-js/dbr-6.5.2.min.js"></script>
</head>

<body>
    <div class="container">
        <div class="box-heading">
            <div class="row">
                <div class="col-12">
                    <div class="text-center user-head">
                        You are <b>not authenticated.</b>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="box-register">
        <div class="row">
            <div class="col-12">
                <div class="text-center user-register">
                    <button type="button" class="btn btn-success user-register">Register</button>
                </div>
            </div>
        </div>
    </div>
    <div class="box-content">
        <div class="row">
            <div class="col-12">
                <div class="text-center">
                    <h2>ERP Query</h2>
                </div>
            </div>
        </div>
        <div class="action-buttons">
            <div class="row">
                <div class="col-6">
                    <button type="button" class="btn btn-success scan-on">Scan</button>
                </div>
                <div id="div-video-container">
                    <button type="button" class="btn btn-danger scan-close">Cancel</button>
                    <video class="dbrScanner-video" playsinline="true"></video>
                </div>
                <div class="col-6">
                    <div class="text-right">
                        <button type="button" class="btn btn-danger clear-data" data-toggle="modal" data-target="#clear-list">Clear</button>
                    </div>
                </div>
            </div>
        </div>
        <div class="box-resuls"><div class="row"><div class="col-12 col-sm-12"></div></div></div>
        <div class="box-resuls">
            <div id="general-message-div">

            </div>
        </div>
        <div class="box-resuls ">
            <div class="results">

            </div>
        </div>
    </div>
    </div>
    </div>

    <div id="confirm-list" class="modal fade" tabindex="-1" role="dialog">
        <div class="modal-dialog modal-dialog-centered" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Are you sure?</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <p class="confirm-que">Are you sure you want to clear the list?</p>
                </div>`enter code here`
                <div class="modal-footer">
                    <button type="button" class="btn btn-success send-action-modal">Yes</button>
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">No</button>
                </div>
            </div>
        </div>
    </div>

    <div id="clear-list" class="modal fade" tabindex="-1" role="dialog">
        <div class="modal-dialog modal-dialog-centered" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Are you sure?</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <p>Are you sure you want to clear the list?</p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-success clear-modal">Clear</button>
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>
    <div id="register-list" class="modal fade" tabindex="-1" role="dialog">
        <div class="modal-dialog modal-dialog-centered" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title">Register Phone</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <p>Enter User Name and press send.</p>
                    <p>An email link will be sent to register this phone.  You MUST receive and click the link from this device to register it.</p>
                    <input type="text" class="text-center" id="user-name-to-register-text" />
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-success register-user-name">Send</button>
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        var apiUrl = '/api/values';
        BarcodeReader.licenseKey = 'f0068NQAAAIbBzRWany3F7jNy3ImpWnXBCvHanH/J2MOkga1nq/acR45gEAhz5/uBNZxBPZfrB6G3Mlj7K50u3B4BL75ES+A=';
        //BarcodeReader.licenseKey = 'f0068NQAAAGEjSoU5UNQViyOBVw9RY8KOcGmCnO0nyIGWfcQUSt9ztyCvFb9vE0Yaiwtle54Wr5aGeb2O0tUw+cjUxsCPT04='
        let scanner = new BarcodeReader.Scanner({
            htmlElement: document.getElementById('div-video-container'),
            onFrameRead: result => { },
            onNewCodeRead: (txt, result) => {
                if ($('#div-video-container').is(":visible")) {
                    $('#div-video-container').hide();
                }
                setResultHeader('Processing...');
                setResultData('...');
                txt = txt.substring(txt.lastIndexOf('/') + 1);
                apiCall('S', txt);
            }
        });

        apiCall('I', null);

        $(function () {
            $(document).on('click', '.actions', function () {
                if ($(this).attr('data-confirmation')) {

                    $('.confirm-que').html($(this).attr('data-confirmation'));
                    $('.send-action-modal').attr('data-action-id', $(this).attr('data-action-id'))
                    $('#confirm-list').modal('show');
                } else {
                    apiCall('A', $(this).attr('data-action-id'));
                }
            })
            $('.user-register').on('click', function () {
                $('#register-list').modal('show');
            })
            $('.register-cancel').on('click', function () {
                $('#register-list').modal('hide');
            })
            $('.register-user-name').on('click', function () {
                $('#register-list').modal('hide');
                apiCall('P', $('#user-name-to-register-text').val());
            })
            $('.send-action-modal').on('click', function () {
                $('#confirm-list').modal('hide');
                apiCall('A', $(this).attr('data-action-id'));
            })
            $('#div-video-container').hide();
            $('.scan-on').on('click', function () {
                if ($('#div-video-container').is(":hidden")) {
                    $('#div-video-container').show();
                    scanner.open();
                    $(this).hide();
                }
            })
            $('.scan-close').on('click', closeScanner);
            $('.clear-modal').on('click', function () {
                apiCall('C', '');
            })
            if (!getCookie('GUID')) {
                var uid = uuidv4();
                setCookie('GUID', uid, 99);
            } else {
                setCookie('GUID', getCookie('GUID'), 99);
            }
            //if (getCookie('username')) {
            //    $('.user-head').html('Hello <b>' + getCookie('username') + '</b>')
            //}
            //if (getCookie('results')) {
            //    setResultData(html(getCookie('results')));
            //    if ($('#no-data').is(":visible")) {
            //        $('.clear-data').prop('disabled', true);
            //    } else {
            //        $('.clear-data').prop('disabled', false);
            //    }
            //} else {
            $('.clear-data').prop('disabled', true);
            //}

        })

        function closeScanner() {
            if ($('#div-video-container').is(":visible")) {
                $('#div-video-container').hide();
            }
            scanner.close();
            if ($('.scan-on').is(":hidden")) { $('.scan-on').show(); }

        }

        function apiCall(action, scan_GUID) {
            html = '<div class="general-message"><div class="row"><div class="col-12 col-sm-12"><p>Working...</p></div></div></div>';
            $('#general-message-div').html(html);
            $.get(apiUrl, {
                action: action,
                scan: scan_GUID,
                guid: getCookie('GUID')
            }, ApiReturn)
        }

        function ApiReturn(data, status) {
            setResultHeader('Results');
            if (status == 'success') {
                if (data) {
                    if (data.action == 'A') {
                        $('#confirm-list').modal('hide');
                    }
                    if (!data.isAnonymousUser) {
                        $('.user-head').html('Hello <b>' + data.userName + '</b>');
                        //setCookie('username', data.userName, 2);
                        $('.user-register').hide();
                    }
                    else {
                        $('.user-head').html('You are <b>not authenticated.</b>');
                        $('.user-register').show();
                    }

                    html = '</div>';
                    if (data.generalStatusMessage) {
                        html = '<div class="general-message"><div class="row"><div class="col-12 col-sm-12"><p>' + data.generalStatusMessage + '</p></div></div></div>';
                    }
                    $('#general-message-div').html(html);

                    if (data.action == 'C') {
                        //$('.clear-data').prop('disabled', true);
                        //html = '<div class="row-result" id="no-data">There are no results available.</div>';
                        //$('.results').html('<div class="row-result" id="no-data">There are no results available.</div>');
                        //setCookie('results', html, 2);
                        $('#clear-list').modal('hide');
                    }
                    html = "";
                    if (data.results && data.results.length > 0) {
                        $.each(data.results, function (index, value) {
                            html += '<div class="row-result"><div class="row"><div class="col-12 col-sm-8">';
                            html += '<p>' + value.erpType + '</p>'
                            $.each(value.descriptions, function (index_de, value_de) {
                                html += '<p>' + value_de + '</p>';
                            });
                            html += '</div>';
                            if (value.erpActions) {
                                html += '<div class="col-12 col-sm-4">';
                                $.each(value.erpActions, function (index_action, value_action) {
                                    html += '<button type="button" class="btn btn-success actions" data-action-id="' + value_action.actionID + '" data-confirmation="' + value_action.confirmationQuestion + '" data-action-name="' + value_action.actionName + '">' + value_action.actionDescription + '</button>';
                                });
                            }
                            html += '</div></div></div></div>';
                        });
                        $('.clear-data').prop('disabled', false);
                    } else {
                        $('.clear-data').prop('disabled', true);
                        html += '<div class="row-result" id="no-data">There are no results available.</div>';
                    }
                    setResultData(html);
                    //setCookie('results', html, 2);

                    if (data.action == 'S') {
                        closeScanner();
                    }
                }
            }
        }

        function setResultHeader(resultHeader) {
            $('#result-header').html('<div class="text-center" id="result-header"><h3>' + resultHeader + '</h3></div>');
        }

        function setResultData(resultData) {
            $('.results').html('<div class="row-result">' + resultData + '</div>');
        }

        function setCookie(name, value, days) {
            var expires = "";
            if (days) {
                var date = new Date();
                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                expires = "; expires=" + date.toUTCString();
            }
            document.cookie = name + "=" + (value || "") + expires + "; path=/";
            document.cookie = name + "=" + (value || "") + expires + "; path=/; domain=.cottrelltrailers.com";
        }

        function getCookie(name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');
            for (var i = 0; i < ca.length; i++) {
                var c = ca[i];
                while (c.charAt(0) == ' ') c = c.substring(1, c.length);
                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
            }
            return null;
        }

        function uuidv4() {
            return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
                (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
            );
        }

    </script>
</body>
</html>

Вывод на консоль: 'iis express .exe' (CoreCLR: clrhost): загружен 'C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App \ 3.0.0 \ System. Net .WebSockets.dll. Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика «Просто мой код». «iexplore.exe» (сценарий): загружен «код сценария (Windows Inte rnet Explorer)». 'iis express .exe' (CoreCLR: clrhost): загружен 'C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App \ 3.0.0 \ System.Security.Principal. Windows .dll' , Пропущены символы загрузки. Модуль оптимизирован и включена опция отладчика «Просто мой код». Исключение было выдано в строке 2, столбец 10991 в https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js 0x800a139e - JavaScript ошибка времени выполнения: SyntaxError Исключение было выдано в строке 2, столбец 11214 в https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js 0x800a139e - JavaScript ошибка времени выполнения: SyntaxError 'iexplore.exe' (Script): загружен 'Sourcemap (https://localhost: 44382 / js / bootstrap .min. js)'. Необработанное исключение в строке 12, столбец 58 в https://localhost: 44382 / js / dbr-js / dbr-6.5.2.min. js 0x800a138f - JavaScript ошибка времени выполнения: невозможно получить свойство 'sr c' с неопределенной или нулевой ссылкой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...