Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advAjax] Dwa problemy poczatkujacego
Forum PHP.pl > Forum > XML, AJAX
eXcore
Witam serdecznie.
Jestem na etapie tworzenia pierwszego mojego "dziecka" korzystajacego z Ajaxa smile.gif Probuje zastapic troche rzeczy wykonywanych do tej pory w php na rzecz js i napotkalem na dwa problemy.

1) Moj projekt wymaga zastapienia domyslnych naglowkow HTTP w zapytaniach generowanych przez AdvAjax na podane przeze mnie (m.in. HTTP_USER_AGENT, HTTP_ACCEPT itp) - w FF wszystko ladnie sie da podmienic, lecz niestety w IE pozostaja wciaz domysle dla tej przegladarki wartosci- jedynie UA udaje sie zmienic.
Czy to jest naturalne zachowanie i poprostu nie da sie tego zrobic ? Czy u mnie cos nie "workuje" ? smile.gif

2) Uzylem advAjax.assign(). Kod wyglada tak:

  1. function send() {
  2.  
  3. advAJAX.submit(document.getElementById("upload"), {
  4. retry: 3,
  5. retryDelay: 1000,
  6. unique: true,
  7. disableForm : true,
  8. onSuccess : function(obj) { alert(obj.responseText); },
  9. onError : function(obj) { alert("Error: " + obj.status); }
  10.  
  11. });
  12.  
  13.  
  14. }</script>
  15.  
  16. <div id="main">
  17. <form name="upload" method="POST" action="take_upload.php" enctype="multipart/form-data">
  18. Plik torrent:<br /> <input size="40" type="file" name="file" />
  19. <input name="submit" type="submit" class="button" name="add_button" value="Dodaj" onclick="send()" /></form>
  20. </div>


i problem polega na tym ze w IE wyskakuje alert tak jak w skrypcie, natomiast w Fx laduje sie strona take_upload.php tak jakby ajax nie dzialal. Co moze byc przyczyna ?

Przegladalem przyklady na http://advajax.anakin.us/index-pl.htm#a10 i niestety tam ten sam problem wystepuje - a mysle ze autor bledow nie popelnil tam smile.gif Wiec w takim razie gdzie lezy przyczyna ?

Omawiane przegladarki to IE6Sp1 praz Fx 2.0.0.1
NuLL
A od kiego to Ajaxem mozna uploadowac pliki ? biggrin.gif
eXcore
Przeciez plik nie jest uploadowany ajaxem tylko normalnie protokolem HTTP i metoda POST do strony php ktora obrabia plik i zwraca jakis wynik - a ten wynik pobiera ajax - to roznica - poza tym na IE to dziala jak powinno.
Cezar708
Miałeś kilka błędów. Porównaj kody, sam zobaczysz co jest nie tak snitch.gif

  1. <script type="text/javascript" language="JavaScript" src="advajax.js"></script>
  2. <form id="upload" method="POST" action="take_upload.php" enctype="multipart/form-data">
  3. Plik torrent:<br /> <input size="40" type="file" name="file" />
  4. <input name="submit" type="submit" class="button" name="add_button" value="Dodaj"/></form>
  5. </div>
  6.  
  7. <script type="text/javascript">
  8. advAJAX.assign(document.getElementById("upload"), {
  9. onSuccess : function(obj) { alert(' .. poszlo git ...'); },
  10. onError : function(obj) { alert(".. nie poszlo git ..."); }
  11. });
  12.  


największy to name="upload" zamiast id="upload"... nie mam pojęcia jak IE wyczaił o co chodzi
eXcore
Rzeczywiscie, teraz "gro i bucy" jak to sie mowi smile.gif Dzieki wielkie za wskazanie bledow. Wpadka z name zamiast id wziela sie stad ze wczesniej ten kawalek kodu byl przesylany do php gdzie wazny jest parametr name przy obsludze smile.gif

Jak widac IE zyje swoim zyciem smile.gif

A odnosnie pierwszego problemu jesli ktos moglby mi udzielic informacji to bylbym po raz drugi stokrotnie wdzieczny smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.