Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Ajax Principiante

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    273

    Ajax Principiante

    Premetto che sono un principiante di Javascript e Ajax.
    Quindi abbiate pazienza.
    Questo è il codice js.
    codice:
    function assegnaXMLHttpRequest() {
    
    	// lista delle variabili locali
    	// variabile di ritorno, nulla di default
    	var XHR = null;
    	// informazioni sul nome del browser
    	var browserUtente = navigator.userAgent.toUpperCase();
    	// browser standard con supporto nativo
    	// non importa il tipo di browser
    	if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
    		XHR = new XMLHttpRequest();
    		// browser Internet Explorer
    		// è necessario filtrare la versione 4
    	else if(
    		window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0
    	) {
    	// la versione 6 di IE ha un nome differente
    	// per il tipo di oggetto ActiveX
    	if(browserUtente.indexOf("MSIE 5") < 0)
    		XHR = new ActiveXObject("Msxml2.XMLHTTP");
    		// le versioni 5 e 5.5 invece sfruttano lo stesso nome
    	else
    		XHR = new ActiveXObject("Microsoft.XMLHTTP");
    	}else{
    		alert('Giving up :( Non riesco a creare una istanza XMLHTTP');
    		return false;		
    	}
    	return XHR;
    }
    function caricaFoto(url){
    	var ajax = assegnaXMLHttpRequest();
    	if (ajax){
    		//Evitiamo doppio click
    		if(!ajax.clicked){
    			clicked = true;
    			document.getElementById("foto1").disabled = "disabled";
    			ajax.open("post","#",true);
    			// imposto il giusto header
    			ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");	
    			ajax.setRequestHeader("connection", "close");
    			ajax.send("action=richiesta" + "&" + "foto_url=" + url );
    			ajax.onreadystatechange = function(){
    				if (ajax.readyState == 4){
    					//Sono pronto!
    					if (ajax.status == 200) {
    						// perfetto!Tutto a buon fine!
    
    					}else{
    
    						// c'è stato un problema nella richiesta,
    						// per esempio un codice di errore 404 (Not Found)
    						// o 500 (Internal Server Error)
    						alert("Attenzione.Formato dell'immagine non compatibile.Riprovare piu tardi");
    					}
    				}else{
    					//Risposta non ancora arrivata rimani in attesa
    
    				}
    			}
    		}
    	}
    }
    Nella stessa pagina ecco il codice html:
    codice:
    	
    	<form name="mod_profilo" enctype="multipart/form-data" id="mod_profilo" action="#">
    <div id="div_foto">Inserisci la tua foto
    <input src="**" type="file" name="foto1" align="middle" id="foto1" onchange="caricaFoto(this.value);" /></div>
    </form>
    Sempre nella stessa pagina il codice php
    codice:
    case 'richiesta':
    	require("../inc/dbconn.inc.php");
    	$uploadfile = $UPLOAD_FOTO . $_FILES['userfile']['name'];
    	//Se esiste la variabile _
    	if (isset($_FILES['foto'])){
    		if ($_FILES['foto']['type'] == "image/gif" || $_FILES['foto']['type'] == "image/jpg" ||  $_FILES['foto']['type'] == "image/jpeg" ){
    		if ($_FILES['foto']['size'] < 60000){
    			if (move_uploaded_file($_FILES['foto']['tmp_name'], $uploadfile)){
    				mysql_query("UPDATE utente SET foto_url = '".$_FILES['userfile']['name']."' WHERE id_utente = '".$_SESSION['Ambiente']['utente']['id_utente']."' ")or die(mysql_error());
    				}
    			}
    		}
    	}
    
    #header("Location: modifica.profilo.php");
    break;
    }
    In pratica dovrei caricare su database l'immagine che viene selezionata tramite l'input file del form.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non mi risulta sia possibile fare upload di un file con ajax... non e' supportato dall'oggetto.

    Hai usato un titolo da paura... chiudo.

    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

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.