Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. & tronca gli url
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • A
      artasdog User Attivo • ultima modifica di

      Uso jquery si, ma per le chiamate ajax utilizzo codice normale javascript, questo:

      params="pippo="+va1+"&pluto="+var2+"&paperino="+var3;
      xmlhttp.open("POST","http(:)//www(.)pippo(.)it/fileajax.php",false);
      http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.setRequestHeader("Content-length", params.length);
      xmlhttp.setRequestHeader("Connection", "close");
      xmlhttp.send(params);

      Ora in base a quello che mi consigli di fare posso risolvere mettendo la tua funzione qui:

      params="pippo="+urlencode(var1)+"&pluto="+urlencode(var2)+"&paperino="+urlencode(var3);

      poi nel file php a cui arrivano i POST farò:

      $pippo=urldecode($_POST['pippo']);
      ecc..

      Ho capito bene?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • B
        bazarop User Attivo • ultima modifica di

        Puoi provare così, ma quello che io ti consiglio realmente di fare, è di utilizzare il metodo ajax() o direttamente post() di jQuery per evitare alcun tipo di problema.
        Non ha particolarmente senso implementare jQuery e poi scrivere le funzioni in Javascript.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          artasdog User Attivo • ultima modifica di

          Sto notando che i caratteri che converti nella tua funzione urlencode da quanto dicono qui sembrano già compresi in quelli che vengono convertiti con escape()

          http(:)//www(.)javascripter(.)net/faq/escape(.)htm

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • B
            bazarop User Attivo • ultima modifica di

            Non proprio, se vedi all'interno della funzione è presente l'esacpe().

            Vi sono casi in cui l'escape può essere ovviato.
            In questa pagina trovi maggiori dettagli: phpbuilder.com/board/showthread.php?t=10318476

            Un'altra buona funzione presa appunto dalla suddetta pagina, è la seguente: [PHP]function urlencode(str) {
            return escape(str).replace(/+/g,'%2B').replace(/%20/g, '+').replace(/*/g, '%2A').replace(///g, '%2F').replace(/@/g, '%40');
            }[/PHP]

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              artasdog User Attivo • ultima modifica di

              Grazie adesso con calma provo a leggermela, ma ad esempio che tipo di problema potrei incontrare utilizzando solo escape()?

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • B
                bazarop User Attivo • ultima modifica di

                I problemi si affrontano durante la decodificazione in php, in quanto escape(js) e encode(php), non funzionano allo stesso modo. Quindi, quando il parametro lo devi decodificare in php, lo decodificheresti in modo errato.

                Qui vedi come escape ed encode funzionano in modo differente:
                http://cass-hacks.com/articles/discussion/js_url_encode_decode/

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • A
                  artasdog User Attivo • ultima modifica di

                  Ok, agendo in questo modo immagino che anche la conversione di caratteri al dei fuori dei primi 126 del funzionerà correttamente, ma mi chiedo, la corrispondenza esadecimale dei caratteri oltre il codice ascii in quel caso dove la trovo?

                  ad esempio guardando il codice ascii so che & diventera %26

                  ma se converto ù che diventa %F9 che tabella devo guardare per la conversione? Ciè come faccio a sapere in anticipo cosa diventera ù senza provarlo?

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • A
                    artasdog User Attivo • ultima modifica di

                    Ho inserito escape ed il problema sembra essersi risolto.
                    Lato server non è stato necessario inserire urldecode() perchè la conversione sembra essere stata fatta in automatico.

                    Mi è rimasto ora solo il problema di convertire caratteri come il simbolo dell'euro, che con escape() diventa nel database:

                    € diventa %u20AC

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • B
                      bazarop User Attivo • ultima modifica di

                      Hai provato con urldecode se ti fa la sostituzione dell'euro?

                      In alternativa, effettua uno string replace di "%u20AC" con "€" oppure "€".

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • A
                        artasdog User Attivo • ultima modifica di

                        urldecode purtoppo non decodifica %u20AC
                        Ho in effetti fatto string replace ma da "%u20AC" a questo "?" e sembra funzionare correttamente.

                        Sai come viene generato questo valore "%u20AC"? (se ci sono tabelle di riferimento)

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        Caricamento altri post
                        Rispondi
                        • Topic risposta
                        Effettua l'accesso per rispondere
                        • Da Vecchi a Nuovi
                        • Da Nuovi a Vecchi
                        • Più Voti