javascript - জাভাস্ক্রিপ্ট বই



কিভাবে আমি একটি জাভাস্ক্রিপ্ট পরিবর্তনশীল একটি টেক্সট ফাইল বিষয়বস্তু লোড করবেন? (6)

আমার ওয়েব অ্যাপ্লিকেশনের http://localhost/foo.txt আমার একটি টেক্সট ফাইল রয়েছে http://localhost/foo.txt এবং আমি এটি জাভাস্ক্রিপ্টে একটি পরিবর্তনশীলতে লোড করতে চাই .. গরুতে আমি এটি করব:

def fileContents = 'http://localhost/foo.txt'.toURL().text;
println fileContents;

কিভাবে আমি জাভাস্ক্রিপ্ট অনুরূপ ফলাফল পেতে পারি?

https://src-bin.com



Answer #2

XMLHttpRequest, অর্থাৎ এক্সএমএল ছাড়া AJAX।

আপনি এটির যথাযথ পদ্ধতিটি যা জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক ব্যবহার করছেন তার উপর নির্ভরশীল, তবে যদি আমরা আন্তঃপারোপযোগীতার সমস্যাগুলি উপেক্ষা করে থাকি, তবে আপনার কোডটি এমন কিছু দেখতে পাবে:

var client = new XMLHttpRequest();
client.open('GET', '/foo.txt');
client.onreadystatechange = function() {
  alert(client.responseText);
}
client.send();

সাধারণভাবে বলতে গেলে, XMLHttpRequest সমস্ত প্লাটফর্মগুলিতে উপলব্ধ নয়, তাই কিছু চতুরতা সম্পন্ন করা হয়। আবার, আপনার সেরা বাজি jQuery মত AJAX ফ্রেমওয়ার্ক ব্যবহার করা হয়।

এক অতিরিক্ত বিবেচনা: এটি শুধুমাত্র একই ডোমেনে foo.txt যতদিন কাজ করবে। যদি এটি কোনও ভিন্ন ডোমেনে থাকে তবে একই-মূল সুরক্ষা নীতিগুলি আপনাকে ফলাফলটি পড়তে বাধা দেবে।


Answer #3

এই প্রায় সব ব্রাউজারে কাজ করা উচিত:

var xhr=new XMLHttpRequest();
xhr.open("GET","https://12Me21.github.io/test.txt");
xhr.onload=function(){
    console.log(xhr.responseText);
}
xhr.send();

উপরন্তু, নতুন Fetch API রয়েছে:

fetch("https://12Me21.github.io/test.txt")
.then( response => response.text() )
.then( text => console.log(text) )

Answer #4

এখানে আমি jquery কিভাবে এটা ছিল:

jQuery.get('http://localhost/foo.txt', function(data) {
    alert(data);
});

Answer #5

যদি আপনার ইনপুট এক্সএমএল হিসাবে গঠন করা হয় তবে আপনি importXML ফাংশন ব্যবহার করতে পারেন। ( Quirksmode এ এখানে আরও তথ্য)।

যদি এটি এক্সএমএল না হয় এবং প্লেইন টেক্সট আমদানি করার জন্য সমতুল্য ফাংশন না থাকে তবে আপনি এটি লুকানো আইফ্রেমে খুলতে পারেন এবং তারপরে সেখানে সামগ্রীগুলি পড়তে পারেন।


Answer #6

jQuery.get ব্যবহার করার পরিবর্তে, jQuery এর সাথে কাজ করার সময়, উদাহরণস্বরূপ

jQuery.get("foo.txt", undefined, function(data) {
    alert(data);
}, "html").done(function() {
    alert("second success");
}).fail(function(jqXHR, textStatus) {
    alert(textStatus);
}).always(function() {
    alert("finished");
});

আপনি ব্যবহার করতে পারেন .load যা আপনি আরো অনেক সংকোচকারী ফর্ম দেয়:

$("#myelement").load("foo.txt");

.load আপনাকে আংশিক পৃষ্ঠাগুলি লোড করার বিকল্পটি দেয় যা সহজেই আসতে পারে, api.jquery.com/load/






javascript