js - zawartosc pliku

0

czy jest mozliwosc aby za pomoca innerhtml wczytac do diva zawartosc pliku?

$('div_id').innerHTML = " cos";

i wczytuje mi napis cos do tego diva a ja chce zeby wczytywalo do niego cały plik czyli cos w stylu

$('div_id').innerHTML = plik.txt;

i w divie pojawia sie zawartosc calego pliku jak to zrobić?

0

Bez pomocy Ajaksa się nie obędzie, jeśli to ma być wczytane w skrypcie JS...

Ps. Jeśli dobrze wnioskuje (po $) to używasz jQuery, to możesz użyć np. metody load...
$('div_id').load ("jakis_url");
Jeśli chcesz się dowiedzieć czegoś więcej o Ajaksie w jQuery polecam ten artykuł

0

uzywam mootools - mam napisana funkcje ktora po kliknieiu w element wykonuje kilka rzeczy w tym dopisuje do danego diva zwykly tekst tak jak podalem w przykladzie - jest to na sztywno wpisane w js a chcialbym zeby wczytywalo mi zamiast sztywnego tekstu jakis plik obsluga ajaxa jest juz zaaplikowana wystarczy po prostu wczytac plik ale edytuje skrypt ktorego nie jestem autorem wiec musze sie trzymac tego ze tresc dodawna jest za pomoca innerHTML

0

czyli jak z tą funkcją bo dalej nie wiem?

0

Stwórz funkcje, która będzie po prostu pobierała całą zawartość z pliku (jeśli mootools tego nie potrafi .. a nie wiem tego - napisz sam szybko wrapper dla XmlHttpRequest).

Bezpośrednio funkcji JS raczej nie ma..

0

Akurat to że nie ma funkcji, to nie znaczy że to jest "omfg trudne". Tak jak kolega wyżej pisał wystarczy zaimplementować coś takiego:

function ajaxDzialaj(do_pobrania, gdzie_wstawic){ //ajaxDzialaj('plik.txt', 'div_id');
  var xmlHttp;
  try{
    // Utworzenie obiektu XMLHttpRequest (silnik Gecko, Webkit, Presco)
    xmlHttp=new XMLHttpRequest(); 
  } catch(e) {
    // Wyłapuje błąd jeśli JavaScript nie posiada obiektu XMLHttpRequest
    try {
      // Utworzenie obiektu ActiveXObject, który jest zawarty w kontrolce ActiveX IE
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch(e) {
      try {
        // Utworzenie obiektu ActiveXObject, dla innych wersji IE
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch(e) {
        // Wyświetlenie błędu o braku obsługi obiektu XMLHttpRequest
        alert("Your browser does not support AJAX!"); 
        return false;
      }
    }
  }

//---
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState==4) {
			//Co się dzieje jeśli nasz obiekt dostanie odpowiedź
			document.getElementById(gdzie_wstawic) = xmlHttp.responseText;
			xmlHttp.responseText = "";
		}
	}
	xmlHttp.open("get", do_pobrania, true);
	xmlHttp.send(null);
//---


}

Ta część do //--- jest zerżnięta z wiki jakby ktoś pytał.
Jak widzisz taka mała, niegroźna (OMFG) funkcja nam umili życie.
Wystarczy że wywołasz:

ajaxDzialaj('plik.txt', 'div_id');

I zrobi się to co chciałeś.

0

Jak używasz Mootools, to skorzystaj z dostarczonej klasy Request, która odpowiedzialna jest za komunikację z serwerem, czyli po prostu AJAX ;)

var rq = new Request({
  url: "nazwa_pliku.txt",
  method: "get",
  onSuccess: function(response)
  {
    $('element').innerHTML = response;
  }

});
rq.send();

Możesz to opakować w funkcję, jak masz zamiar wywoływać wielokrotnie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1