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

    ajax- fare una redirect di pagina dopo login

    Ciao,sono alle prime armi con ajax.
    Per fare delle prove ho inserito nel mio sito un semplice.js trovato di esempio in rete che mi consenta di visualizzare un div nella home page nel caso la user o password immessa ( gestito da un semplice file .asp) non sia corretta.

    Funziona per quanto riguarda i paramentri non corretti , la pagina non fa refresh e il div di alert avvisa l'utente nella stessa pagina, però se immetto i dati corretti per il modo con qui è stato concepito questo script mi carica tutta la pagina all'interno del div pippo mentre io a quel punto vorrei una specie di window.locator.
    Vorrei capire reindirizzare l'utente e come "nasce" il div che io ho chiamato pippo nel file .js.
    Grazie, di seguito metto i pezzi di codici che sto usando.
    ----------------------------------------
    uso questa chiamata nel form html

    <form action="autentica.asp" method="post" name="form" id="form" onsubmit="invio('autentica.asp', 'form', 'pippo', 'Wait...'); return false;">

    file .js che visualizza il div pippo

    -------------------------------------------------
    function invio(strURL,formname,responsediv,responsemsg) {
    var xmlHttpReq = false;
    var self = this;
    // Xhr per Mozilla/Safari/Ie7
    if (window.XMLHttpRequest) {
    self.xmlHttpReq = new XMLHttpRequest();
    }
    // per tutte le altre versioni di IE
    else if (window.ActiveXObject) {
    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
    if (self.xmlHttpReq.readyState == 4) {
    updatepage(self.xmlHttpReq.responseText,responsedi v);


    }
    else{
    // In attesa della risposta del form visualizzo il msg di attesa
    updatepage(responsemsg,responsediv);

    }
    }
    self.xmlHttpReq.send(getquerystring(formname));
    }

    function getquerystring(formname) {
    var form = document.forms[formname];
    var qstr = "";

    function GetElemValue(name, value) {
    qstr += (qstr.length > 0 ? "&" : "")
    + escape(name).replace(/\+/g, "%2B") + "="
    + escape(value ? value : "").replace(/\+/g, "%2B");
    //+ escape(value ? value : "").replace(/\n/g, "%0D");
    }

    var elemArray = form.elements;
    for (var i = 0; i < elemArray.length; i++) {
    var element = elemArray[i];
    var elemType = element.type.toUpperCase();
    var elemName = element.name;
    if (elemName) {
    if (elemType == "TEXT"
    || elemType == "TEXTAREA"
    || elemType == "PASSWORD"
    || elemType == "BUTTON"
    || elemType == "RESET"
    || elemType == "SUBMIT"
    || elemType == "FILE"
    || elemType == "IMAGE"
    || elemType == "HIDDEN")
    GetElemValue(elemName, element.value);
    else if (elemType == "CHECKBOX" && element.checked)
    GetElemValue(elemName,
    element.value ? element.value : "On");
    else if (elemType == "RADIO" && element.checked)
    GetElemValue(elemName, element.value);
    else if (elemType.indexOf("SELECT") != -1)
    for (var j = 0; j < element.options.length; j++) {
    var option = element.options[j];
    if (option.selected)
    GetElemValue(elemName,
    option.value ? option.value : option.text);
    }
    }
    }
    return qstr;
    }
    function updatepage(str,responsediv){
    document.getElementById(responsediv).innerHTML = str;
    }
    ---------------------------------------------------------------
    file asp che controlla
    ' se l'untente esiste il file eseguiva un classico response.......
    response.redirect("accesso.asp")

    else
    %>

    ' altrimenti il messaggio ( questo lo vedo a video)
    <div id="pippo">
    <%
    response.Write(" nome o password non validi ")
    %>
    </div>

  2. #2
    basta che aggiungi all'evento che ti gestisce la risposta, nel caso fosse positiva, un document.location.href='url della redirect'
    http://www.anobii.com/isalreadyinuse

  3. #3

    Ciao

    Grazie per avermi risposto.
    Ok ho provato Una cosa del genere nel file asp
    if....ok
    response.write("<script>document.location.href='ac cesso.asp'</script>")

    ma non mi rimanda a nessuna pagina e non mi dà nemmeno un errore

  4. #4
    devi metterlo nello script ajax che fa la richiesta, invece di fare updatepage fai la redirect come ti ho detto
    http://www.anobii.com/isalreadyinuse

  5. #5

    ciao

    mmmmm...
    scusami ma non riesco.
    Ok allora nel file asp non tocco nulla..

    nel file .js
    da qui
    if (self.xmlHttpReq.readyState == 4) {
    updatepage(self.xmlHttpReq.responseText,responsedi v);


    }



    ho trasformato qu
    if (self.xmlHttpReq.readyState == 4) {
    updatepage(document.location.href='controllo.asp' );

    non funziona..

  6. #6
    e evidente che non ha senso quello che hai scritto

    if (self.xmlHttpReq.readyState == 4) {
    updatepage(document.location.href='controllo.asp' );


    if (self.xmlHttpReq.readyState == 4) {
    document.location.href='controllo.asp';
    http://www.anobii.com/isalreadyinuse

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.