Прежде всего, рассмотрите синтаксический анализ только один раз, когда http-ответ
success: function (datalist) {
hideLoading();
// use datalist directly
...
}
Как указано в ошибке, datalist[0]
может быть пустым. Таким образом, вы можете сначала попытаться увидеть, существуют ли данные, прежде чем получить доступ к свойству SPAN_ID.
if(datalist[0]) {// do the processing}
В зависимости от браузера, который вы используете, вы можете рассмотреть возможность создания дополнительной цепочки (вам необходимо учитывать совместимость браузера, поскольку это новая функция ES2020)
spanid = datalist[0]?.SPAN_ID
В этом случае spanid будет неопределенным, если данные недоступны. Чтобы установить значение по умолчанию, вы можете использовать оператор объединения nulli sh ??