|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
|
[DOM/AJAX][Newbie] comportamento anomalo dei metodi
vi chiedo aiuto per uno script ajax che sto provando a scrivere...molto poco diligentemente lo ammetto..
function eseguiRichiesta(url) { var http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); // Vedi note sotto } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Giving up return false; } http_request.onreadystatechange = function() { alertContents(http_request); }; http_request.open('GET', url, true); http_request.send(null); alert("RICHIESTA CORRETTAMENTE ESEGUITA"); } function alertContents(http_request) { if (http_request.readyState == 4) { alert("READY STATE"); if (http_request.status == 200) { //SEARCH ENGINE // getResults(http_request); } else { alert('Si è verificato un problema con la richiesta'); } }else { alert("NOT IN A READY STATE"); } alert("ALERT TERMINATO"); } function searchQuery(url) { eseguiRichiesta(url); } function search() { url = urlArray[0]; alert(url); searchQuery(url); url = urlArray[1]; alert(url); searchQuery(url); } non dovrebbe essere molto complicato visto che buona parte del codice è standard per inizializzare l'XMLHttpRequest e l'ho copiato pari pari da vari siti.. il funzionamento della funzione search() per adesso dovrebbe essere quello di chiamare per 2 volte searchQuery passandogli url come argomento, url che proviene da un array di url chiamato urlArray; prima di ogni chiamata gli ho fatto stampare a video con un alert l'url stesso per essere certo che lo ricevesse correttamente. una volta chiamata la funzione eseguirichiesta(url) dovrei semplicemente per ogni url passatogli instanziare un oggetto http_request e poi richiamare la funzione alertContents e poi terminare. la sequenza di messaggi che ottengo eseguendo il tutto è: test.xml NOT IN A READY STATE ALERT TERMINATO RICHIESTA CORRETTAMENTE ESEGUITA test2.xml NOT IN A READY STATE ALERT TERMINATO RICHIESTA CORRETTAMENTE ESEGUITA (e poi questa sequenza che non capisco proprio...) NOT IN A READY STATE ALERT TERMINATO NOT IN A READY STATE ALERT TERMINATO NOT IN A READY STATE ALERT TERMINATO NOT IN A READY STATE ALERT TERMINATO NOT IN A READY STATE ALERT TERMINATO NOT IN A READY STATE ALERT TERMINATO perchè mi stampa tutte queste volte not in a ready state e alert terminato??...e poi...perchè non è in ready state?...so che forse non è una domanda semplicissima ma non riesco a spiegarmelo solo guardando il codice... thanks!
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:57.



















