Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    26

    passing json string via psot from js to php

    Salve,

    vorrei fare una richiesta tramite ajax con il metodo post.
    ecco come faccio:



    Codice PHP:
    var ajax = new XMLHttpRequest();         
    ajax.open("post""MySqlController.php"true);         
    var 
    query_json = {"input": [         
    {
    "select_args"'*'},         
    {
    "from_args"'ANADIP A NATURAL JOIN TIMBRO T'},         
    {
    "where_args"'T.periodo BETWEEN CAST("'+this.per_start.getFullYear()+'-'+this.per_start.getMonth()+'-'+this.per_start.getDate()+'" AS DATE) AND CAST("'+this.per_end.getFullYear()+'-'+this.per_end.getMonth()+'-'+this.per_end.getDate()+'" AS DATE)}'},         {"extra_args":'ORDER BY T.periodo;'}]          
    };          
    ajax.setRequestHeader('Content-Type''application/x-www-form-urlencoded; charset=UTF-8');           var data "input ="+encodeURIComponent(query_json);         
    ajax.send(data);         
    ajax.onreadystatechange = function() {               
    if(
    ajax.readyState === 4) {                   
    alert(ajax.responseText+" " +ajax.status);               
    }         

    vorrei che andasse a finire dentro l'array $_POST['input'] ma è sempre vuoto!

    PS uso responseText perché per adesso mi basta sapere che dontro $_POST c'è qcs...

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ajax non puo' passare array, solo puro testo: creati una stringa separando opportunamente i valori con un carattere "particolare" e sul server "splittalo" per ricreare l'array.

    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

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    26
    grazie per la risposta.

    ma l'array non si trova in formato stringa JSON che poi ricostruisco in php con json_decode?

  4. #4
    http://json.org/js.html

    http://javascript.html.it/articoli/l...iata-vincente/

    per un approfondimento

    http://www.blogial.net/old/index.php?view=13

    http://www.blogial.net/old/uploaded/agenda.rar

    se ti piace sbirciare nel codice





    PS
    A parte questo spedire una query ha veramente poco
    senso si inviano solo i parametri per la query
    che farai lato server.
    Detto questo di abitudine non si inviano dati in formato json
    json è utilizzato maggormente nella response.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    26
    AHA!

    quindi spedisco i parametri per SELECT, FROM, WHERE in formato stringa (separate da "-" ad esempio) al php
    poi con php genero la query è utilizzo json per la risposta?

    Ho capito bene?

  6. #6
    Originariamente inviato da logangt
    AHA!

    quindi spedisco i parametri per SELECT, FROM, WHERE in formato stringa (separate da "-" ad esempio) al php
    poi con php genero la query è utilizzo json per la risposta?

    Ho capito bene?
    si

    per spedire i dtai utilizza una cosa
    del genere


    Codice PHP:
    var par1ValueencodeURIComponent('valoreUno');
    var 
    par2ValueencodeURIComponent('valoreDue');
    var 
    params 'par1=' +  par1Value 
                  
    '&par2=' par2Value 

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.