Из кода что есть, нужно реализовать такую штуку. Допустим, у меня на странице написано несколько номеров накладных и есть кнопка рядом с ними.
По нажатию на кнопку через api новой почты узнать статус этого номера. (но что бы в запрос передавалось то значение которое написано на странице, а не как сейчас
А в обработчике клика получать айдишник посылки и с ним уже идти в API. Код который выводит результат тоже должен знать куда его выводить. Т.е. нужно логически “связать” кнопку, айди посылки, узел куда выводится результат. Это можно сделать через объект, например. А можно (не самый гибкий способ) через узел кнопки
$('.status-btn').on('click', function (event) {
var id = parseInt(event.target.dataset.docId)
$.ajax({
type: "POST",
dataType: "json",
url: "https://api.novaposhta.ua/v2.0/json/",
data: JSON.stringify({
"modelName": "TrackingDocument",
"calledMethod": "getStatusDocuments",
"methodProperties": {
"Documents": [
{
"DocumentNumber": id,
"Phone": ""
}]
},
"apiKey": "caeb13b660b11432a9843510578b909a"
}),
success: function(response) {
var data = response.data;
data.forEach(function(item, i, arr) {
$(event.target.parentNode).append(item.Status);
});
},
})
})
Это демонстрация, не готовое решение. Тебе нужно подумать как сделать поведение более user-friendly.
Получается кнопка “узнать все” должна зать про все возможные документы. Общую стратегию нужно менять. Я бы генерировал список кнопок из 1 структуры данных, классы для узлов генерировал из айдишников документов, а потом из ответа, имея айдишник, можно найти соответствующий узел куда вставлять статус. И это лучше потому что будет 1 запрос чтобы проверить статус всех посылок.