নতুন উপায় আমি: fetch
টিএল; ডিআর আমি যতক্ষণ না আপনাকে সিঙ্ক্রোনাস অনুরোধগুলি প্রেরণ করতে বা পুরাতন ব্রাউজারগুলিকে সমর্থন করতে না হয় ততক্ষণ আমি এইভাবে পরামর্শ দেব।
আপনার অনুরোধটি যতক্ষণ না অ্যাসিনক্রোনাস হয় আপনি এইচটিটিপি অনুরোধগুলি প্রেরণের জন্য ফেচ এপিআই ব্যবহার করতে পারেন । ফেচ এআইপি প্রতিশ্রুতি নিয়ে কাজ করে যা জাভাস্ক্রিপ্টে অ্যাসিঙ্ক্রোনাস ওয়ার্কফ্লো হ্যান্ডেল করার একটি দুর্দান্ত উপায়। এই পদ্ধতির সাহায্যে আপনি fetch()
একটি অনুরোধ প্রেরণ ResponseBody.json()
এবং প্রতিক্রিয়া পার্স করতে ব্যবহার করেন:
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(jsonResponse) {
});
সামঞ্জস্যতা: ফেচ এপিআই আইই 11 এবং পাশাপাশি এজ 12 এবং 13 দ্বারা সমর্থিত নয় However তবে, পলিফিল রয়েছে ।
নতুন উপায় II: responseType
লন্ডেনরেন তার উত্তরে যেমন লিখেছেন , নতুন ব্রাউজারগুলি আপনাকে responseType
প্রতিক্রিয়ার প্রত্যাশিত বিন্যাসটি সংজ্ঞায়িত করতে সম্পত্তিটি ব্যবহার করার অনুমতি দেয় । পার্স করা প্রতিক্রিয়া ডেটা এর পরে response
সম্পত্তিটির মাধ্যমে অ্যাক্সেস করা যেতে পারে :
var req = new XMLHttpRequest();
req.responseType = 'json';
req.open('GET', url, true);
req.onload = function() {
var jsonResponse = req.response;
};
req.send(null);
সামঞ্জস্যতা: responseType = 'json'
আইই 11 দ্বারা সমর্থিত নয়।
ক্লাসিক উপায়
স্ট্যান্ডার্ড এক্সএমএলএইচটিপিআরকোয়েস্টের কোনও responseJSON
সম্পত্তি নেই, কেবল responseText
এবং responseXML
। যতক্ষণ না কিছুটা সত্যিই আপনার অনুরোধটির জন্য কিছু জেএসএনের সাথে প্রতিক্রিয়া জানায়, জাসন কোডটি responseText
পাঠ্য হিসাবে থাকা উচিত, তাই আপনাকে যা করতে হবে তা হ'ল এটিকে পার্স করা JSON.parse()
:
var req = new XMLHttpRequest();
req.overrideMimeType("application/json");
req.open('GET', url, true);
req.onload = function() {
var jsonResponse = JSON.parse(req.responseText);
};
req.send(null);
সামঞ্জস্যতা: এই পদ্ধতির কোনও ব্রাউজারের সাথে কাজ করা উচিত যা সমর্থন করে XMLHttpRequest
এবং JSON
।
JSONHttpRequest
আপনি যদি ব্যবহার করতে পছন্দ করেন responseJSON
তবে JQuery এর চেয়ে আরও হালকা ওজনের সমাধান চান তবে আপনি আমার JSONHttpRequest পরীক্ষা করে দেখতে চাইতে পারেন। এটি সাধারণ এক্সএমএলএইচটিএইচটিপিআরকুয়েস্টের মতো ঠিক কাজ করে তবে responseJSON
সম্পত্তি সরবরাহ করে । আপনার কোডে আপনাকে যা পরিবর্তন করতে হবে তা হ'ল প্রথম লাইন:
var req = new JSONHttpRequest();
JSONHttpRequest সহজে JSON হিসাবে জাভাস্ক্রিপ্ট অবজেক্টগুলি প্রেরণের জন্য কার্যকারিতা সরবরাহ করে। আরও বিশদ এবং কোডটি এখানে পাওয়া যাবে: http://pixelsvsbytes.com/2011/12/teach-your-xmlhttprequest-some-json/ ।
সম্পূর্ণ প্রকাশ: আমি পিক্সেল | বাইটসের মালিক। আমি মনে করি যে আমার স্ক্রিপ্টটি সমস্যার একটি ভাল সমাধান, তাই আমি এটি এখানে পোস্ট করেছি। আপনি যদি আমাকে লিঙ্কটি সরাতে চান তবে দয়া করে একটি মন্তব্য করুন।
XMLHttpRequest
; প্রশ্নটি কী ছিল।