Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    157

    Chiamata HTTP XML con metodo POST: sintassi?

    Ciao a tutti.
    Innanzitutto descrivo il mio problema:
    Devo inviare dei dati contenuti in un file XML ad un file PHP residente su server remoto utilizzando il metodo POST. Questa operazione deve essere effettuata direttamente al caricamento del codice JS, senza che l'utente clicchi su alcun pulsante.
    Il file contenente il codice JS, come il file XML, sono presenti su disco locale e possono essere manipolati (e quindi composti) ad hoc tramite applicativo scritto in VB6. E' proprio questo applicativo che, dopo aver creato il file XML o aver integrato quest'ultimo nel file contenente il codice JS necessario, lo aprirà in modalità "nascosta" nel browser (in Visual Basic) per poter eseguire questa chiamata HTTP XML.

    Le istruzioni di riferimento che sto seguendo per la creazione del file XML sono al seguente link: http://www.vola.it/download/sdk/Vola_MMS_XML.pdf

    Alcuni utenti di questo forum mi hanno segnalato il seguente link, dove ci sono alcuni esempi: http://www.w3schools.com/ajax/ajax_examples.asp
    Tuttavia non ho trovato nulla che possa farmi capire come inviare il file XML al caricamento del codice JS senza che l'utente intervenga in alcun modo. A quanto ho capito dovrebbe trattarsi di 4-5 istruzioni...

    Grazie anticipate per l'aiuto!

  2. #2
    Scusa, forse non ho capito bene. Ma dove si trova questo file XML?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    157
    Il file XML (la cui struttura la trovi nelle istruzioni del file PDF) viene creato dal software in Visual Basic 6 che ho realizzato. Quindi il file XML si trova nella cartella del programma.
    Il file PHP destinatario delle informazioni contenute nel file XML si trova invece su server remoto.
    Il file contenente il codice JS, posso tenerlo sia nella cartella del programma che pubblicarlo su uno spazio web (questo nel caso non si debba modificare ogni volta ma rimane fisso nella sua struttura).

    Se non è chiaro qualcosa fammi sapere.
    Grazie.

  4. #4
    Non e' chiarissimo

    Ma il concetto e' questo: se il file XML si trova sul client non e' possibile forzare il browser ad inviare qualcosa al server senza il consenso dell'utente.

    Altrimenti - come puoi immaginare - potrei creare una pagina web che a insaputa del visitatore mi invia tutti i suoi documenti. VVoVe:

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    157
    Allora possiamo anche mettere il file XML su un server remoto, per esempio in un mio spazio web. Vorrà dire che ogni volta farò l'upload del file XML prima di eseguire la pagina contenente il codice JS. Così risolviamo il problema dei permessi?

    Per evitare che debba fare l'upload ogni qualvolta creo un nuovo file XML, è possibile inserire il contenuto del file XML direttamente nel codice del file contenente JS... per esempio come una variabile stringa (non so se si chiama così anche in JS). In questo modo il file JS non sa che quei dati da inviare appartengono ad un file esterno, in quanto li trova già inclusi nel suo codice. Così facendo il programma in Visual Basic, anziché creare un file XML ogni volta, va a scrivere le informazioni direttamente nella pagina contenente il codice JS.

    Un po' contorta come spiegazione, ma se vuoi chiedimelo e cerco di spiegarmi meglio.

  6. #6
    In effetti e' un po' contorta.

    Comunque dovrebbe essere possibile mettere un una stringa js tutto l'XML. E poi inviarlo ad una pagina PHP.

    A questo punto, pero', non capisco cosa vuoi fare esattamente.

    Dimmi se ho capito bene

    1) crei un file XML
    2) lo carichi in uno spazio web
    a - come file XML
    b - oppure come stringa javascript
    3) Apri una pagina web che contiene quel js (pagina residente nel tuo spazio web, immagino)
    4) La pagina all'apertura legge i dati XML e li invia ad una pagina PHP (residente dove? Spero nel tuo spazio web, altrimenti ajax non si puo' utilizzare)

    Tutto 'sto ambaradan e' per inviare dei dati XML ad una pagina PHP?

    Forse con js si puo' fare. Ma VB non ha delle funzioni per le connessioni HTTP? Non sono un esperto ma sono abbastanza sicuro di si'. Forse ti conviene fare in modo che quando VB crea l'XML apra direttamente una connessione verso la pagina PHP e ci invii i dati.

    Altrimenti vediamo cosa si puo' fare con js.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    157
    Sono aperto a tutte le soluzioni, purché funzionino!

    Ti risolvo alcuni dubbi:
    - file PHP = residente su un server remoto di terzi (gestori servizio invio MMS)
    - file XML = posso farne l'upload o, per evitare ulteriori passaggi, tenerlo in locale, magari integrarlo direttamente nel codice JS
    - la pagina con il codice JS posso tenerla in locale (sarebbe il massimo) o farne l'upload in uno spazio web (diverso da quello che ospita la pagina PHP).

    Funzionamento:
    1) in base a certe informazioni il codice VB6 prepara il file XML o lo inserisce come stringa nella pagina contenente il codice JavaScript
    2) la pagina con il codice JavaScript viene aperta nel browser e, con il solo caricamento di questa pagina, le informazioni vengono inviate con metodo POST alla pagina PHP remota.

    Possibilità di un punto "1 BIS":
    - solo se strettamente necessario per il funzionamento del tutto, la pagina contenente il codice JS (con informazioni XML integrate) e/o il file XML (se decidiamo di non integrato nel JS) vengono trasferite su uno spazio web prima di aprire nel browser il JS.

    Ora dovrebbe essere tutto più chiaro, vero?
    Hai dato un'occhiata al link al file PDF? Mi pare a pag. 8 spiega qualcosa... ma io non capisco niente di XML, JS, ecc... o meglio capisco qualcosa ma le miei nozioni in questo caso non sono sufficienti!

  8. #8
    Guarda, non c'e' bisogno di leggere il pdf. La questione purtroppo si risolve cosi':

    allo stato attuale delle cose NON e' possibile utilizzare AJAX per mandare informazioni a pagine (PHP e altro) che non siano nello stesso dominio.

    Ripeto: fossi in te farei tutto in VB

    Ma se invece vuoi a tutti i costi passare attraverso una pagina web forse si puo' risolvere in modo piu' semplice, anche se non molto elegante.

    In fondo cio' che tu vuoi e' mandare in POST una stringa XML, no?

    Beh. con VB - invece di reare un file js - crei una pagina web fatta cosi'. molto semplicemente.

    codice:
    <html>
      <head>
      </head>
      <body onload="document.myform.submit()">
    <form name="my_form" action="ilnomedellapaginaPHP.php">
    <textarea name="nome">
    qui inserisci tutto l'XML
    </taxtarea>
      </body>
    </html>
    all'apertura della pagina tutto il tuo XML verra' mandato via POST alla pagina contenente il PHP.

    La pagina la metti dove di pare a 'sto punto perche' contiene gia' tutto cio' di cui ha bisogno

    Poi bisogna capire come la pagina ricevente si aspetta i dati, ma questa e' un'altra questione

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    157
    La struttura dei dati (XML) è predisposta in base alle istruzioni fornite dagli autori della pagina PHP (appunto il file PDF, pag. 8).

    Non è che voglio passare per forza da una pagina web per fare questo...
    Il fatto è che in VB non saprei come fare. Hai un'idea?

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    157
    Un'altra cosa: ma la textarea ha limitazioni di lunghezza?

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.