Live Data Fetching হল এমন একটি পদ্ধতি যার মাধ্যমে ওয়েব পেজে রিয়েল-টাইম ডেটা লোড এবং আপডেট করা হয় পেজ রিফ্রেশ ছাড়াই। Ajax ব্যবহার করে ওয়েব অ্যাপ্লিকেশনগুলো রিয়েল-টাইমে ডেটা ফেচ করতে সক্ষম হয়, যেমন সোশ্যাল মিডিয়া ফিড, পণ্য আপডেট, স্টক প্রাইস, বা অন্যান্য ডেটা যা অব্যাহতভাবে পরিবর্তিত হতে থাকে। এটি ব্যবহারকারীদের একটি ইন্টারঅ্যাকটিভ এবং দ্রুত অভিজ্ঞতা প্রদান করে।
এই টিউটোরিয়ালে, Ajax ব্যবহার করে Live Data Fetching কিভাবে করা যায় তা দেখানো হবে।
Live Data Fetching প্রক্রিয়ায় সার্ভার থেকে নির্দিষ্ট সময় পর পর ডেটা নেয়া হয় এবং তা পেজে আপডেট করা হয়। এর জন্য সাধারণত setInterval() বা setTimeout() ফাংশন ব্যবহার করা হয়।
ধরা যাক, আমরা একটি ওয়েব পেজে রিয়েল-টাইম স্টক প্রাইস ফেচ করতে চাই। এই উদাহরণে, আমরা JSONPlaceholder API ব্যবহার করবো যেটি মক ডেটা প্রদান করে, তবে আপনি যেকোনো API ব্যবহার করতে পারেন।
এখানে একটি সাধারণ HTML পেজ তৈরি করা হবে, যেখানে ডেটা ফেচ করে দেখানো হবে।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Live Data Fetching with Ajax</title>
</head>
<body>
<h1>Live Data Fetching Example</h1>
<div id="stockPrice">
<p>Loading stock price...</p>
</div>
<script src="script.js"></script>
</body>
</html>
এখন, script.js
ফাইলে Ajax কল এবং সেটInterval ব্যবহার করে রিয়েল-টাইম ডেটা ফেচ এবং পেজ আপডেট করা হবে।
script.js:
function fetchLiveData() {
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://jsonplaceholder.typicode.com/posts", true); // API URL পরিবর্তন করুন
xhr.onload = function () {
if (xhr.status === 200) {
const data = JSON.parse(xhr.responseText);
displayData(data);
} else {
document.getElementById("stockPrice").innerHTML = "Error fetching data.";
}
};
xhr.send();
}
function displayData(data) {
const stockContainer = document.getElementById("stockPrice");
stockContainer.innerHTML = "<h3>Stock Price Update</h3>";
// এখানে আমরা মক ডেটা প্রদর্শন করছি, বাস্তবে এখানে স্টক প্রাইস বা অন্যান্য ডেটা আসবে
data.slice(0, 5).forEach(post => {
stockContainer.innerHTML += `<p><strong>Title:</strong> ${post.title}</p>`;
});
}
// প্রতি 5 সেকেন্ড পর পর লাইভ ডেটা ফেচ করার জন্য
setInterval(fetchLiveData, 5000);
// প্রথমবার ডেটা লোড করা
fetchLiveData();
এই উদাহরণে, JSONPlaceholder API ব্যবহার করা হয়েছে যা মক ডেটা প্রদান করে। বাস্তবে, আপনি এই অংশটি আপনার প্রয়োজন অনুসারে পরিবর্তন করতে পারবেন, যেমন একটি স্টক API বা কোনও রিয়েল-টাইম ডেটা ফিড।
API Example:
https://jsonplaceholder.typicode.com/posts
[
{
"userId": 1,
"id": 1,
"title": "Title 1",
"body": "Content 1"
},
{
"userId": 1,
"id": 2,
"title": "Title 2",
"body": "Content 2"
}
]
Live Data Fetching-এর ক্ষেত্রে, সার্ভার থেকে প্রতিবার ডেটা ফেচ করার ফলে কিছু সময় পারফরমেন্স সমস্যা দেখা দিতে পারে। এর সমাধানে কিছু কৌশল রয়েছে:
Ajax এর মাধ্যমে Live Data Fetching ওয়েব অ্যাপ্লিকেশনগুলিতে পেজ রিফ্রেশ ছাড়াই রিয়েল-টাইম ডেটা প্রদর্শন করতে সহায়ক। এটি ব্যবহারকারীর অভিজ্ঞতাকে আরও দ্রুত, ইন্টারঅ্যাকটিভ এবং ডাইনামিক করে তোলে। আপনি বিভিন্ন API থেকে ডেটা ফেচ করতে পারেন এবং সেটি প্রতি কিছু সেকেন্ড পর পর আপডেট করতে পারেন, যাতে ব্যবহারকারী সর্বশেষ ডেটা দেখতে পারে।
Read more