Вывод результата функции в div
Добрый день!
Имею вот такой код <script> function callbackFunction(data) { const paramsContainer = document.querySelector('.map__params'); paramsContainer.innerHTML = ''; for (const key in data) { const param = document.createElement('div'); const paramValue = document.createElement('span'); param.className = 'map__params-item'; param.textContent = `${key}: `; paramValue.textContent = typeof data[key] === 'object' ? JSON.stringify(data[key]) : data[key]; param.appendChild(paramValue); paramsContainer.appendChild(param); } } document.getElementById('paramValue').innerHTML = data[indexTo]; </script> <div id="param"><span id="paramValue"></span></div> Код должен выдавать ответ в следующем виде Код:
{ Но ничего не выводится, подскажите как решить задачу? |
Попробуйте расположить ваш скрипт ниже дива по коду
|
А где элемент с классом map__params?
И что такое indexTo? Где вызов функции callbackFunction? Что такое data в document.getElementById('paramValue').innerHTML = data[indexTo]; Вы в консоль то заглядываете? Просто что бы посмотреть ошибки. |
Цитата:
|
И кстати
typeof null === 'object' |
Цитата:
Код:
<div id="forpvzrp" style="display: none;"> indexTo - это значение индекса из ответа. Консоль ругается на Uncaught ReferenceError: data is not defined в строке document.getElementById('paramValue').innerHTML = data.indexTo; Также ругается на Cannot set properties of null (setting 'innerHTML') at Object.callbackFunction в строке paramsContainer.innerHTML = ''; |
Цитата:
data у вас определена как параметр функции. А вне функции никакой data нет. const paramsContainer = document.querySelector('.map__params'); Если нет элемента с классом map__params, то paramsContainer будет null. ЗЫ Так data.indexTo или data[indexTo] ? |
в первом сообщении написал:
функция должна возвращать вот такой ответ, indexTo в нем { "addressTo": "ул Советская", "areaTo": null, "boxSize": "m", "cashOfDelivery": 26400, "cityTo": "г Ростов-на-Дону", "deliveryDescription": { "description": "от 1 до 2 дней + обработка заказа 10 часов", "values": { "deliveryMax": 2, "deliveryMin": 1, "extraTimeInHours": 10 } }, "indexTo": "344019", "mailType": "POSTAL_PARCEL", "pvzType": "russian_post", "id": 44342, "regionTo": "обл Ростовская", "sumoc": "150000", "weight": "1000" } В самом скрипте ошибки точно не должно быть, так как это готовое решение с сайта почты россии, я же пытаюсь вывести из ответа этой функции значение в поле div. Все что я самостоятельно подписал в скрипте это: document.getElementById('paramValue').innerHTML = data[indexTo]; |
Виджет установленный на сайте должен передавать в эту callback функцию ответ, который я прикрепил выше.. А я из этого ответа должен как то взять значения... Сам виджет работает, пункт выдачи выбирается.. Ошибок нет..
|
Цитата:
Но все равно, если нет элемента с классом map__params, то paramsContainer будет null! И data вне функции должна быть как то определена! |
Часовой пояс GMT +3, время: 17:06. |