Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [Ajax] Invio di post nello stesso div + recupero dati

    Ciao, ho sfogliato tutto il forum con le key "ajax post" ma non ho trovato soluzione,

    Ho una pagina "index.php" in questa pagina cè un div con id "box", dove viene caricata all'interno la pagina "add_fav.php" con un modulo con 1 campo.

    Ora scrivendo nel campo e inviando, dovrebbe inviare alla pagina save_add_fav.php nello steddo div con id box.

    Lo fa, ma non manda i dati, o non li recupera.. non so perchè, il mio JS è questo.


    Codice PHP:
    function get(sid){



        if (
    document.all) {

        return 
    document.all[sid];

        }

        else if (
    document.layers) {

        return 
    document.layers[sid];

        }

        else if (
    document.getElementById) {

        return 
    document.getElementById(sid);

        }

    }



    function 
    getXMLHttpRequestInstance() {

    var 
    xmlhttp;



    try {

        
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

        } catch (
    e) {

        try {

        
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

        } catch (
    E) {

        
    xmlhttp false;

        }

    }



    if (!
    xmlhttp && typeof XMLHttpRequest != 'undefined') {

        try {

        
    xmlhttp = new XMLHttpRequest();

        } catch (
    e) {

        
    xmlhttp false;

        }

    }

    return 
    xmlhttp;

    }



    function 
    updateContent(nodeIdhtml) {

        var 
    node get(nodeId);

        if(
    null == node) {return;}

        
    node.innerHTML html;

        
    node.style.visibility "visible";

    }



    function 
    ajax(nodeIdurlhowsenddati) {

    var 
    xmlhttp getXMLHttpRequestInstance();

    var 
    metodo howsend;



    if(
    metodo == "POST"){


    var 
    valuein dati;

    var 
    ok ="";

    var 
    stringa = new String;

    stringa dati;

    var 
    valori = new Array();

    valori stringa.split("+");

    for (
    i=0;i<valori.length;i++)

    {

    var 
    prova valori[i];


    ok +=(prova+"="+get(prova).value+"&");

    }



    contpost ok;



    }



    if(!
    xmlhttp) {

    alert("Il tuo browser non sopporta Ajax
    È consigliato scaricare FireFox [url]www.firefox.com[/url]"
    ,"Ajax");

    return 
    false;

    }

    updateContent(nodeId,"");

    updateContent(nodeId,"[img]av/loader.gif[/img]");

    // se metodo è GET





    if(metodo == "GET"){

    xmlhttp.open("GET"url,true);

    xmlhttp.onreadystatechange=function() {



    if (
    xmlhttp.readyState==4) {

        if (
    xmlhttp.status==200) {

        
    updateContent(nodeIdxmlhttp.responseText);

        } else if (
    xmlhttp.status==404) {

        
    alert("Errore 404, il file cercato non esiste.","Ajax");

        } else {

        
    alert("Errore interno non gestito (" xmlhttp.status ")","Ajax");

        }

    }

    }



    xmlhttp.send(null);

    // altrimenti se è post

    }

    else{






    xmlhttp.open("POST"urltrue);

    xmlhttp.onreadystatechange=function() {



    if (
    xmlhttp.readyState==4) {

        if (
    xmlhttp.status==200) {

        
    updateContent(nodeIdxmlhttp.responseText);

        } else if (
    xmlhttp.status==404) {

        
    alert("Errore 404, il file cercato non esiste.","Ajax");

        } else {

        
    alert("Errore interno non gestito (" xmlhttp.status ")","Ajax");

        }

    }

    xmlhttp.setRequestHeader("content-type""application/x-www-form-urlencoded");



    }




    xmlhttp.send(""+contpost+"");

    xmlhttp.setRequestHeader("connection""close");

    }


    la chiamata al form la faccio cosi

    Codice PHP:
    <form method="post"  onsubmit="ajax('box', 'save_add_fav.php', 'POST',  'status+name'); return false;"
    dove status è un input hidden e name il campo singolo dove scrivere il nome.

    nella pagina che dovrebbe mettersi dentro il div "box", save_add_fav.php mi basterebbe recuperare un echo"$_POST[name]"; giusto per controllare che funzioni, poi salvare su database ecc è un attimo.

    l'errore che mi da la console è

    Codice PHP:
    Errore: [Exception... "Component returned failure code: 0x804b000f (NS_ERROR_IN_PROGRESS) [nsIXMLHttpRequest.setRequestHeader]"  nsresult"0x804b000f (NS_ERROR_IN_PROGRESS)"  location"JS frame :: [url]http://www.pyrolog.ch/fav/main/mainjs.js[/url] :: anonymous :: line 112"  datano]
    File sorgente: [url]http://www.pyrolog.ch/fav/main/mainjs.js[/url]
    Riga112 

    se avete idee vi ringrazio anticipatamente.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova togliere la chisura alla connessione
    xmlhttp.setRequestHeader("connection", "close"); ho letto in qualche post che non serve, se non risolvi prova a documentarti qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    la guida l'ho guardata e riguardata, dice di fare cosi.

    Magari qualcuno ha un piccolo script che ha usato per mandare e leggere da post?

  4. #4
    mmm ho quasi paura a chiederlo, ma il file mainjs.js lo importi in add_fav.php?

  5. #5
    ai, purtroppo no, lo importo nella struttura, non in add_fav

    ho una php ke È circa cosi

    <php

    function top(){

    <html>
    script javascript ecc.
    }
    function food(){

    </html>
    }

    index richiama le top e food per creare la struttura

    il div box è nella pagina di struttura.. cosa erro?

  6. #6
    Visto che mi sembra che il sito sia raggiungibile, non puoi postare l'url che cerco di farlo eseguire con un debugger?

  7. #7
    ho potuto averlo online per poco tempo purtroppo..

    faccio una cosa, perchè non è nemmeno giusto stare qui a piangere su uno script fatto male, e soptrautto lo voglio rifare in modo da averlo ben messo.

    Lo script attuale, e quello che rifarò, in sintesi è uno script ajax che elabora qualsiasi richiesta, post, get, in che div o contenitore caricare la pagina quale e come.

    uno script universale se si può dire, appena lo finisco, se ancora non va, allora torno a rompere a voi, se va torno comunque ma a postarlo in modo che possiate, dobbiate, criticarmelo.

    thx per ora

  8. #8
    err, ma tu lo sai che ci sono librerie che fanno questo ed altro?

  9. #9
    si, ma voglio ricrearmelo da zero

  10. #10
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    le voglio io le librerie dove le trovo???

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.