मैं JSON फ़ाइल से ऑब्जेक्ट सरणी पर कॉल कर रहा हूं:

if (results !=null && results.value !=null {
  for (var i = 0; i < result.value.length; i++) {
    time = results.value[i].starttime;
    place = results.value[i].location;
    who = results.value[i].attendee;
    console.log("first test", time, place, who);
  }
}
function(error) {
   alert ("Error here" + error.message);
}
$(#homepagetime).html(time);
$(#homepageplace).html(place);
$(#homepagewho).html(who);
console.log("second test", time, place, who);

"प्रथम परीक्षण" नाम का कंसोल लॉग सफलतापूर्वक निम्न तरीके से जोंस से प्रत्येक परिणाम प्रदर्शित करता है:

12:00 India Gandhi
14:00 England Elizabeth
16:00 USA Obama

यह वही है जो मैं ढूंढ रहा हूं, लेकिन जब मैं बोले कोड के लिए होमपेजटाइम, होमपेजप्लेस, और होमपेजजो डिव में परिणाम प्रदर्शित करता हूं, तो कुछ भी प्रकट नहीं होता है। और कंसोल लॉग "दूसरा परीक्षण" के लिए मैं केवल ऑब्जेक्ट में पहली सरणी वापस प्राप्त करता हूं, शेष नहीं उदा .:

12:00 India Gandhi

यह स्पष्ट रूप से केवल ऑब्जेक्ट में पहली सरणी पर कॉल कर रहा है लेकिन मुझे समझ में नहीं आता कि लूप के लिए सभी सरणी क्यों निर्दिष्ट करता है। मैं अभी भी जावास्क्रिप्ट सीख रहा हूँ।

0
T.Doe 28 अक्टूबर 2019, 18:47

3 जवाब

सबसे बढ़िया उत्तर

आपका (डिस्प्ले) कोड लूप के अंदर होना चाहिए, जहां आप div तत्वों में डेटा जोड़ने के लिए स्ट्रिंग कॉन्सटेनेशन या एपेंड () फ़ंक्शन का उपयोग कर सकते हैं

for (var i = 0; i < results.value.length; i++) {
    time = results.value[i].starttime;
    place = results.value[i].location;
    who = results.value[i].attendee;
    console.log("first test", time, place, who);
    $(#homepagetime).append(time + '<br>');
    $(#homepageplace).append(place + '<br>');
    $(#homepagewho).append(who + '<br>);
}
3
Amós Assis 28 अक्टूबर 2019, 16:19

आपको एचटीएमएल को लूप में जोड़ना चाहिए जहां आप मान निर्दिष्ट कर रहे हैं। लूप के बाहर आपको बंद होने के कारण अंतिम मूल्य मिलेगा।

for (var i = 0; i < result.value.length; i++) {
    time = results.value[i].starttime;
    place = results.value[i].location;
    who = results.value[i].attendee;
    console.log("first test", time, place, who);
    $(#homepagetime).html(time);
    $(#homepageplace).html(place);
    $(#homepagewho).html(who);
  }
1
Azam Munawar 28 अक्टूबर 2019, 16:15

कोड जो परिणाम प्रदर्शित करता है वह लूप के बाहर है, इसका मतलब है कि यह केवल एक बार निष्पादित होगा, न कि प्रत्येक सरणी तत्व के लिए जैसा कि इरादा है। चर समय, स्थान, और प्रत्येक लूप पुनरावृत्ति पर कौन सेट किया जा रहा है और अंत में आपके पास जो बचा है वह अंतिम पुनरावृत्ति का परिणाम है। ध्यान दें कि यदि आप डिस्प्ले कोड को लूप के अंदर ले जाते हैं, तो html फ़ंक्शन वर्तमान में तत्व पर मौजूद सामग्री को बदल देता है, इसलिए, प्रत्येक लूप पुनरावृत्ति परिणाम को बदल देगा और आप उसी सामग्री के साथ समाप्त हो जाएंगे जो आपके पास वर्तमान में है। मैं या तो परिणामों को संयोजित करने या गतिशील रूप से प्रत्येक के लिए एक नया तत्व बनाने का सुझाव देता हूं।

1
Checkium 28 अक्टूबर 2019, 15:58