Как отладить циклическую ссылку, о которой сообщает JSON.stringify - PullRequest
0 голосов
/ 03 мая 2019

Я получаю исключение циклической ссылки при вызове JSON stringify, но не могу найти циклическую ссылку.Кажется, здесь виноват jQuery, но я не вижу проблемы и не могу войти в формат JSON.

const list = $('.use-in-reporting-checkbox:checkbox:checked').map(function() 
{
    return this.value;
});

const dataPacket = {
    datasetIDs: list
};

try {
    const real = JSON.stringify(dataPacket);

} catch (error) {
    processError(error);
}

"Error reports: Converting circular structure to JSON
    --> starting at object with constructor 'Object'
    property 'selectorData' -> object with constructor 'Object'
    |     property 'elements' -> object with constructor 'Array'
    --- index 0 closes the circle"

But, inspection of dataPacket just shows: "datasetIDs init (37)" with the 
list of checkbox values. Not sure how to debug this.

1 Ответ

1 голос
/ 03 мая 2019

Эта ошибка возникает из-за того, что вы получаете объект jQuery вместо требуемого значения.

.map -метод возвращает jQuery-объект, который должен быть разрешен с помощью get -call:

const ids = $('.use-in-reporting-checkbox:checkbox:checked').map(function() 
{
    return this.id;
}).get();

Альтернативный способ:

const ids = jQuery.map($('.use-in-reporting-checkbox:checkbox:checked'), function(v) 
{
    return v.id;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...