Создан дублированный контент (uuids, кэшированные ответы) javascript - PullRequest
1 голос
/ 29 апреля 2020

Для сайта электронной коммерции мы создаем объект регистрации данных. Для этого нам нужно создать веб-сессии. При создании мы, кажется, генерируем много дубликатов. В качестве небольшого теста мы строим небольшой фрагмент кода. Этот код, однако, все еще дает много дубликатов.

        <script>
        (function () {
            var urlEndpoint = 'https://<url>/<endpoint>';
            var createXmlHttpRequest = function (url, settings) {
                var request = ('XMLHttpRequest' in window) ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); // eslint-disable-line no-undef
                request.open('POST', url);
                request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                request.send((settings.data || ''));
                request.onload = function () {
                    if (request.status >= 200 && request.status < 300 && typeof settings.callback === 'function') {
                        settings.callback('uuid=' + JSON.parse(request.response).uuid + '&timestamp=' + JSON.parse(request.response).timestamp);
                    }
                }
            };
            createXmlHttpRequest(urlEndpoint + '?getuuid=1&' + (new Date()).getTime(), {
                callback: function (data) {
                    createXmlHttpRequest(urlEndpoint + '?' + (new Date()).getTime(), {data: data})
                }
            })
        })();
    </script>

что мы делаем: - получаем uuid из бэкэнд-скрипта через сообщение - передаем этот uuid обратно в другой бэкэнд-скрипт и сохраняем его в базе данных

при этом, мы получаем много дубликатов во втором бэкэнд-вызове. Это не имеет никакого смысла для меня, но, возможно, кто-то может пролить свет и помочь нам.

Это, кстати, веб-сайт с высоким трафиком c с более чем 2М просмотром в день.

Также: второй вызов для сохранения uuid предназначен для тестирования. Это будет удалено, и мы будем использовать uuid во внешнем интерфейсе

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