Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    ajax ke nn funzia online

    ragazzi, salve
    come č possibile ke offline su IE la funzione di richiamo dell'XMLHTTP funzia OK, mentre online nč su firefox nč su IE da risultato?

    questo č il codice

    codice:
    var timeLoading;
    var textStatus;
    var arrayComponent=["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","MICROSOFT.XMLHTTP.1.0","MICROSOFT.XMLHTTP.1","MICROSOFT.XMLHTTP"];
    function selectObj () {
    	var varObjNew=null;
    	for(var cc=0;cc<arrayComponent.length;cc++){
    		try {varObjNew=new ActiveXObject(arrayComponent[cc]);break;}catch(c){varObjNew=null;}
    		
    	}
    	if(typeof XMLHttpRequest!="undefined" || !varObjNew){
    		try{varObjNew=new XMLHttpRequest();}catch(e){alert("Impossibile create una connessione HTTP! Nessun componente XML installato! ("+e.message+")");}
    	}
    	return varObjNew;
    }
    function openXML(funcToCall,url,obj,typeResponse,typeSend,postValue) {
    	if(typeof typeSend=="undefined" || typeSend.length<=0){typeSend="GET"}
    	typeSend=typeSend.toUpperCase();
    	obj.open(typeSend,url,true);
    	timeLoadingtemp=(new Date()).getTime();
    	if(typeSend=="POST"){obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");}
    	obj.onreadystatechange=function(){
    		if(obj.readyState==4){
    			if (obj.status==200){
    				var txtR='txt';if(typeResponse=="xml"){txtR=obj.responseXML}else{txtR=obj.responseText};
    				timeLoading=((new Date()).getTime())-timeLoadingtemp;timeLoading=timeLoading/1000;timeLoading=timeLoading.toString()+" sec.";
    				textStatus="Data Loaded";
    				funcToCall(txtR);
    			}else{
    				alert("Status Error n."+obj.status);
    			}
    		}
    	};
    	if(typeSend=="POST"){obj.send(postValue);}else{obj.send();}
    }
    
    // INIZIO CODICE MODIFICABILE
    function provaa(value){
    	document.write("loaded in"+timeLoading+"
    "+value);
    }
    e lapagina HTML ke richiama

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    <script language="JavaScript" type="text/javascript" src="function.js"></script>
    <script language="JavaScript" type="text/javascript">
    var fab=selectObj();
    </script>
    
    </head>
    
    <body>
    <form action="" method="get">
    <input name="tyegd" type="button" value="gdsgs" onclick="openXML(provaa,'http://www.google.it',fab,'txt','GET','');" />
    </form>
    </body>
    </html>
    aiutatemi plz

    sembra si blocchi sull'OPEN

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il javascript, e quindi anche AJAX, non puo' interagire con pagine appartenentio a domini diversi... per esempio Google

    Un discorso a parte si deve fare quando le pagine vengono testate in "locale" senza usufruire di un vero server web, in questo caso non si puo' parlare di "dominio" e IE, che e' piu' permissivo rispetto ad altri, permette l'interazione. VVoVe:

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    grazie mille, infatti popo ora per sfizio stavo provando a fare la cosa inserendo il nome della pagina invece ke un dominio diverso e funziona sia su FF ke su IE.

    sai com'č č la prima volta ke faccio sta cosa

    grazie ancora

  4. #4
    e sapresti anke dirmi come mai l'onreadystatechange se per esempio, nella funzione sotto, metto un

    codice:
    if(obj.readyState==1){
    alert('ciao')
    }
    if(obj.readyState==4){
    alert('ciao22')
    }
    nn mi funzia +? mi prende solo il primo if, e nn tiene in considerazione glia ltri stati?

    ciao

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    prova cosi':

    rv = obj.readyState;
    if(rv==1){
    alert('ciao')
    }
    if(rv==4){
    alert('ciao22')
    }

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    grazie ancora, +0- adesso va, ma solo +0-...

    se lo apri in FireFox tutto OK, se stato 1 dice loading data, se 4 fa vedere la pagina...
    ma s elo apro in IE, al primo tentativo non lo stato 1, ma solo il 4, se poi riporovo esce correttamente sia l'1 ke il 4. come č possibile?

    per provare vai qui: http://www.abczone.it/ajax/prova.html e clicca sul bottone aprilos ia con FF ke con IE


  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Col mio IE6 su w2k tutto ok.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    azz loffio

    cmq ty, magari se qualcun'altro ke legge vuole rpovare mi farebbe un paciere :P

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.