Selasa, 22 Desember 2015

Mengambil Data File .txt atau Konten Dari Situs Lain Menggunakan Javascript

Kasus ini gue dapetin gara-gara program Javascript gue pingin bisa mengambil data dari file .txt yang ada di situs lain bukan di situs gue sendiri. Waktu itu sudah berulang kali cari di internet, berulang kali mencoba gagal terus, dan yang dapet dan bisa adalah mengambil file .txt tersebut dengan menggunakan PHP. Meski tidak sesuai yang diinginkan ya dipakai sajalah. Tapi hati ini rasanya penasaran dan nggak terlalu puas... akhirnya ya nyari lagi... nyoba lagi... sampe pusing pala berbi. Namun dari pencarian tersebut... nambah ilmu... bahwa :

  • File .txt yang ada di situs web lain tidak dapat diakses dan diambil isinya menggunakan Javascript standar bahkan tidak bisa juga menggunakan Ajax xhttprequest, dan hanya bisa dilakukan menggunakan PHP.
  • Javascript dan Ajax httprequest hanya bisa mengakses file .txt yang ada di situs yang sama (lokal) bukan file .txt yang ada di situs web lain (remote).
  • Jika membuka file .txt dan datanya tampil di web browser, berarti data yang tampil tersebut sudah dianggap sebagai konten. Bukan sebagai isi file .txt.
Setelah maksa mbah gugel bekerja keras dan memaksa diri ini berpikir keras, alhamdulillah bisa juga membuat program Javascript yang dapat mengakses dan mengambil data dari file .txt di situs web lain. Itu pun didapat dari artikel yang topiknya mengenai "mengambil konten dari situs web lain menggunakan Javascript" !!!

Program yang dibuat, menggunakan jQuery, Ajax dan YQL. jQuery merupakan salah satu framework Javascript dan YQL (Yahoo! Query Language) merupakan platform untuk melakukan query, filter, dan penggabungan data / informasi dari internet, dan YQL mirip dengan perintah SQL.

jQuery dapat diambil di : https://code.jquery.com/jquery-1.11.3.js
ajax-xdomain.js (include perintah YSQL) dapat di ambil di : http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

Berikut source code HTML yang mengandung Javascript untuk mengambil data file .txt atau konten dari Situs Lain (cross site .txt file / content). Catatan : di source code ini file-file .js ada di server lokal.

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<meta name="author" content="ilmuBiner" />
<title>Mengakses data file .txt atau konten cross site dari situs lain</title>
<script src="jquery-1.11.3.js"></script>
<script src="ajax-xdomain.js"></script>
</head>
<body>
<div id="container"></div>
<script>
var isi;
$.ajax({ url: 'http://www.situslain.com/datanya.txt',
  type: 'GET',
  success: function(res) {
    isi = $(res.responseText).text();
    document.getElementById("container").innerHTML = isi;
  }
});
</script>
</body>
</html> 
Semoga bermanfaat!... selamat belajar

1 komentar:

MikuNime mengatakan...

ini gak work gan