здесь я вызываю fetchActivityDropDowns() внутри div, данные поступают правильно, но [обещание объекта] отображается непосредственно перед выбором типа размещения, так как можно решить проблему?По сути, я создал отдельная асинхронная функция для извлечения данных с сервера, и я также вызываю другую асинхронную функцию внутри функции ansyc, так что я получаю такую ошибку. Я хочу решить это, как можно?
async function fetchDaywiseActivityAndAccomData(subqId, daywiseIdPK) {
if (subqId && daywiseIdPK) {
showLoader('Please Wait!', 'Fetching activities and accommodation!');
try {
const response = await $.ajax({
url: "{{ url('/quoteactivityplanner/get-daywise-act-and-accom-data') }}",
method: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: {
"subqId": subqId,
"daywiseIdPK": daywiseIdPK,
},
dataType: "json"
});
if (response.status === 'true') {
const {
mealProviders,
mealSlots,
meals,
accom_cat_list
} = response.data;
const itineraryCardData = response?.data?.quote_daywise_data[0];
const activityCount = itineraryCardData?.activities?.length || 0;
// for btn if no any activity then
const activityButton = activityCount === 0
? `
Add Activity
`
: '';
const daywiseActCard = document.querySelector('.daywise-act-block');
let actDayCard = `
Day ${itineraryCardData.day_id} - Itinerary
${new Date(itineraryCardData.day_date).toLocaleDateString('en-GB')}
Add A day Before
Add Tour's Days Before
Copy Quote's Itinerary Before
${activityButton}
Add Optional Activity
${
// Generate the activity HTML content here
itineraryCardData?.activities.map(item => `
Add Activity Before
${item.activity_name ? item.activity_name : 'NA'}
City
City Image
Activity
Activity Provider
Activity Timing
From:
To:
Kilometer
${fetchActivityDropDowns(itineraryCardData.country_id, itineraryCardData.day_id, item)}
`
).join('')
}
Choose Accommodation Type :
Hotel
Train
Flight
Own Arrangement
`;
$('.daywise-act-block').append(actDayCard);
}
} catch (error) {
Swal.fire({
icon: "error",
title: 'Oops...',
text: 'AJAX' + error,
});
}
} else {
Swal.fire({
icon: "error",
title: 'Oops...',
text: 'No data found.',
});
}
}
это вторая функция, которую я вызываю внутри другой функции
async function fetchActivityDropDowns(countryId, dayId, activityData) {
try {
// AJAX request to fetch activity dropdown data
const response = await $.ajax({
url: "{{ url('/quoteactivityplanner/getActivityDropdowns') }}",
method: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: { countryId: countryId },
dataType: "json"
});
// Extracting data from the response
const { cities, cityImages, cityActivities, activityProviders, transportTypes, transportProviders, guideProviders, miscellaneous } = response.data;
// Populating the city dropdown
if (cities) {
const cityDropdown = $(`#act_city_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
// Clear previous options and add the default option
cityDropdown.html('Select City');
// Populate the dropdown with city options
$.each(cities, function(cId, cityName) {
const option = new Option(cityName, cId, false, cId == activityData.activity_city_id);
cityDropdown.append(option);
});
// Initialize or reinitialize Select2
cityDropdown.select2({
placeholder: 'Select City',
allowClear: true,
width: '100%'
}).trigger('change');
// Listen for city selection changes
cityDropdown.on('change', function () {
const selectedCityId = $(this).val();
const selectedCityName = $(this).find(':selected').text();
$(`.act-accom-city-name-${dayId}`).html(`(${selectedCityName || 'No City updated'})`);
// Get the related activity dropdown
const activityDropdown = $(`#city_activity_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
const cityImageDropdown = $(`#city_image_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
const activityProviderDropdown = $(`#activity_provider_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
const transportProviderDropdown= $(`#transport_provider_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
const guideProviderDropdown = $(`#guide_provider_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
if (!selectedCityId) {
// If no city is selected, clear and disable the activity dropdown
// activityDropdown.html('Select City Activity').prop('disabled', true);
activityDropdown.html('Select City Activity').select2().trigger('change');
cityImageDropdown.html('Select City Image').select2().trigger('change');
activityProviderDropdown.html('Select Activity Provider').select2().trigger('change');
transportProviderDropdown.html('Select Transport Provider').select2().trigger('change');
guideProviderDropdown.html('Select Guide Provider').select2().trigger('change');
} else {
// If a city is selected, enable the activity dropdown and trigger the function to populate it
// activityDropdown.prop('disabled', false);
// Call your function to populate activities for the selected city
fetchCityActivities(selectedCityId, activityDropdown, cityImageDropdown, activityProviderDropdown, transportProviderDropdown, guideProviderDropdown);
}
});
}
// Populating input fields with activity data
$(`#description-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).text(activityData.activity_description || '');
$(`#act-kilometer-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.act_kilometer);
$(`#approx-drive-hour-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.approx_drive_hour);
$(`#approx-drive-min-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.approx_drive_min);
$(`#act-start-time-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.act_start_time);
$(`#act-end-time-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.act_end_time);
$(`#transport-details-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.transport_details);
$(`#activity-notes-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.act_sub_description);
} catch (error) {
console.error('Error fetching activity dropdowns:', error);
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... ises-but-t
Я хочу вызвать функцию внутри шаблона, которая возвращает обещания, но на странице написано [Object Promise], как это ис ⇐ Html
Программисты Html
1736415631
Anonymous
здесь я вызываю fetchActivityDropDowns() внутри div, данные поступают правильно, но [обещание объекта] отображается непосредственно перед выбором типа размещения, так как можно решить проблему?[b]По сути, я создал отдельная асинхронная функция для извлечения данных с сервера, и я также вызываю другую асинхронную функцию внутри функции ansyc, так что я получаю такую ошибку. Я хочу решить это, как можно?
async function fetchDaywiseActivityAndAccomData(subqId, daywiseIdPK) {
if (subqId && daywiseIdPK) {
showLoader('Please Wait!', 'Fetching activities and accommodation!');
try {
const response = await $.ajax({
url: "{{ url('/quoteactivityplanner/get-daywise-act-and-accom-data') }}",
method: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: {
"subqId": subqId,
"daywiseIdPK": daywiseIdPK,
},
dataType: "json"
});
if (response.status === 'true') {
const {
mealProviders,
mealSlots,
meals,
accom_cat_list
} = response.data;
const itineraryCardData = response?.data?.quote_daywise_data[0];
const activityCount = itineraryCardData?.activities?.length || 0;
// for btn if no any activity then
const activityButton = activityCount === 0
? `
[i][/i]Add Activity
`
: '';
const daywiseActCard = document.querySelector('.daywise-act-block');
let actDayCard = `
Day ${itineraryCardData.day_id} - Itinerary
${new Date(itineraryCardData.day_date).toLocaleDateString('en-GB')}
[i][/i]Add A day Before
[i][/i]Add Tour's Days Before
[i][/i]Copy Quote's Itinerary Before
${activityButton}
[url={{ url(]
[i][/i]Add Optional Activity
[/url]
${
// Generate the activity HTML content here
itineraryCardData?.activities.map(item => `
[i][/i]Add Activity Before
${item.activity_name ? item.activity_name : 'NA'}
City
City Image
Activity
Activity Provider
Activity Timing
From:
To:
Kilometer
${fetchActivityDropDowns(itineraryCardData.country_id, itineraryCardData.day_id, item)}
`
).join('')
}
Choose Accommodation Type :[/b]
Hotel
Train
Flight
Own Arrangement
`;
$('.daywise-act-block').append(actDayCard);
}
} catch (error) {
Swal.fire({
icon: "error",
title: 'Oops...',
text: 'AJAX' + error,
});
}
} else {
Swal.fire({
icon: "error",
title: 'Oops...',
text: 'No data found.',
});
}
}
это вторая функция, которую я вызываю внутри другой функции
async function fetchActivityDropDowns(countryId, dayId, activityData) {
try {
// AJAX request to fetch activity dropdown data
const response = await $.ajax({
url: "{{ url('/quoteactivityplanner/getActivityDropdowns') }}",
method: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: { countryId: countryId },
dataType: "json"
});
// Extracting data from the response
const { cities, cityImages, cityActivities, activityProviders, transportTypes, transportProviders, guideProviders, miscellaneous } = response.data;
// Populating the city dropdown
if (cities) {
const cityDropdown = $(`#act_city_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
// Clear previous options and add the default option
cityDropdown.html('Select City');
// Populate the dropdown with city options
$.each(cities, function(cId, cityName) {
const option = new Option(cityName, cId, false, cId == activityData.activity_city_id);
cityDropdown.append(option);
});
// Initialize or reinitialize Select2
cityDropdown.select2({
placeholder: 'Select City',
allowClear: true,
width: '100%'
}).trigger('change');
// Listen for city selection changes
cityDropdown.on('change', function () {
const selectedCityId = $(this).val();
const selectedCityName = $(this).find(':selected').text();
$(`.act-accom-city-name-${dayId}`).html(`(${selectedCityName || 'No City updated'})`);
// Get the related activity dropdown
const activityDropdown = $(`#city_activity_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
const cityImageDropdown = $(`#city_image_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
const activityProviderDropdown = $(`#activity_provider_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
const transportProviderDropdown= $(`#transport_provider_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
const guideProviderDropdown = $(`#guide_provider_id_fk-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`);
if (!selectedCityId) {
// If no city is selected, clear and disable the activity dropdown
// activityDropdown.html('Select City Activity').prop('disabled', true);
activityDropdown.html('Select City Activity').select2().trigger('change');
cityImageDropdown.html('Select City Image').select2().trigger('change');
activityProviderDropdown.html('Select Activity Provider').select2().trigger('change');
transportProviderDropdown.html('Select Transport Provider').select2().trigger('change');
guideProviderDropdown.html('Select Guide Provider').select2().trigger('change');
} else {
// If a city is selected, enable the activity dropdown and trigger the function to populate it
// activityDropdown.prop('disabled', false);
// Call your function to populate activities for the selected city
fetchCityActivities(selectedCityId, activityDropdown, cityImageDropdown, activityProviderDropdown, transportProviderDropdown, guideProviderDropdown);
}
});
}
// Populating input fields with activity data
$(`#description-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).text(activityData.activity_description || '');
$(`#act-kilometer-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.act_kilometer);
$(`#approx-drive-hour-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.approx_drive_hour);
$(`#approx-drive-min-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.approx_drive_min);
$(`#act-start-time-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.act_start_time);
$(`#act-end-time-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.act_end_time);
$(`#transport-details-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.transport_details);
$(`#activity-notes-${dayId}-${activityData.activity_id_pk ? activityData.activity_id_pk : activityData}`).val(activityData.act_sub_description);
} catch (error) {
console.error('Error fetching activity dropdowns:', error);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79341927/i-want-to-call-function-inside-template-letral-that-are-returning-promises-but-t[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия