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

    problema con onreadystatechange

    Ciao a tutti,
    in questi giorni sto avendo problema con questa funzione

    codice:
    function checkCreditCard()
    {
    	var http = new createXMLHttpRequest();
    	http.open("post",url+"?a=checkCreditCard",true);
    	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      http.send("ccType="+__ccType+"&ccNumber="+__ccNumber+"&ccExpMonth="+__ccExpMonth+"&ccExpYear="+__ccExpYear);
    	http.onreadystatechange = function()
    	{
    		if (http.readyState == 4)
    		{ 
    			if (http.responseText != 1)
    				return false;
    			else
    				return true;
    		}
    	}
    }
    tale funzione viene richiamata da
    codice:
    function setCcExpYear(year)
    {
    	__ccExpYear = year;
    	if (checkCreditCard() == false)
    		alert("Invalid provided Credit Card Information");*/
    }
    la funzione che richiamo tramite AJAX mi restituisce 1 in caso di successo o 0 in caso contrario; la richiesta viene inoltrata correttamente e ricevo altrettanto corretamente la risposta (questo lo verifico tramite FireBug), però di fatto non entra nella dichiarazione della funzione di callback per il onreadystatechange. Cosa potrebbe essere?
    mil gracias

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ti suggerisco di mettere un alert che stampi il valore di http.readyState subito prima di

    if (http.readyState == 4)

    inoltre dal codice che hai postato non hai usato il metodo .send()... magari il problema è lì.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Originariamente inviato da fcaldera
    ti suggerisco di mettere un alert che stampi il valore di http.readyState subito prima di

    if (http.readyState == 4)

    inoltre dal codice che hai postato non hai usato il metodo .send()... magari il problema è lì.

    certo che c'è il send è appena dopo il request...ad ogni modo ora provo con l'alert, prima lo avevo provato ma non mi ricordo in quale posizione lo ho messo...

  4. #4
    ah, dimenticavo...se facevo

    codice:
    http.onreadystatechange = function() {}
    http.onreadystatechange = function()
    	{
    		if (http.readyState == 4)
    		{ 
    			if (http.responseText != 1)
    				return false;
    			else
    				return true;
    		}
    	}

    mi stampava tutto normalmente, perchè?

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.