이것은 아마도 어리석은 질문이며 js 범위 질문은 매우 일반적이라는 것을 알고 있지만 어쨌든이 방법을 사용하여 나를 도울만큼 충분히 친절 할 수 있습니까? 여기 자바 스크립트 변수 범위 내에서 아약스 함수
내 기능입니다 :function checkOpen(storeData) {
if (storeData.menu === 'true') {
var offerImgPath = '/wcsstore/ConsumerDirectStorefrontAssetStore/images/colors/color'+ Brand.styleColour + '/v3/',
offer1,
offer2;
cafeTabContent = '<p>Cafe/Restaurant facilities are available in this store.</p>';
cafeTabContent += '<p class="menu_link"><a href="/store_menus/menu.pdf" target="_blank">Click here to download a menu</a></p>';
if (Brand.storeLocatorSettings.cafeOffersOn === true) {
$.ajax({
url : Arcadia.Brand.storeLocatorSettings.offersPageURL,
success : function(data) {
var offerContainer = $(data).find('#basic_story_content');
offer1 = offerContainer.children(':first-child').attr('src');
offer2 = offerContainer.children(':last-child').attr('src');
}
});
console.log(offer1);
cafeTabContent += '<p>Current offers:</p>';
cafeTabContent += '<p class="offer_graphic"><img src="' + offer1+ '" alt="Offer 1" /></p>';
cafeTabContent += '<p class="offer_graphic"><img src="' + offer2+ '" alt="Offer 2" /></p>';
}
return cafeTabContent;
} else {
return false;
}
};
난 데 문제는 offer1 & offer2는 아약스 성공 기능을 외부에서 정의하고 있다는 사실에도 불구하고,이 함수 내에서 적용되는 값이 밖에 유지되지 않는 것입니다 따라서 console.log (offer1)는 이미지 경로 대신 undefined를 반환합니다. 나는 이것이 범위 질문 인 것을 알고 있으며, 그것은 정말로 나를 괴롭 히고있다. 어떤 도움이라도 대단히 감사하겠습니다.
고마워, 내가 어리 석다는 건 알았어. 당신 모두가 저에게 정확한 답을 주신 것처럼 보았습니다. 나는 그가 처음이었던 것처럼 Ajinkya에게 신용을 보여줄 것입니다. –