Pagina 1 di 1

Form: metodo post

Inviato: venerdì 15 giugno 2007, 12:32
da micamalex
Hi all,
ho un form di questo tipo

Codice: Seleziona tutto

<form name="form1" action="pincopalla.aspx" method="post">
<INPUT type="hidden" name="ciccio" value="cappuccio">
<INPUT type="hidden" name="montecchi" value="capuleti">
<INPUT type="submit" value="invia">
</form>
adesso il form lo chiamo così

Codice: Seleziona tutto

<script>
document.form1.submit();
</script>
invece voglio chiamare la pagina aspx con un link diretto. In altre parole voglio sapere qual'è la url generata dal form nel momento del submit.
Io so che se nel form fosse stato usato il metodo get avrei potuto usare una querystring del tipo

pincopalla.aspx?ciccio=cappuccio&montecchi=capuleti

mentre con il metodo post non va.  >:(
Come faccio?

Grazie mille

Re: Form: metodo post

Inviato: venerdì 15 giugno 2007, 14:02
da Massimo S.
Credo che quelli che chiedi è impossibile.

Se vuoi usare il metodo post, non esiste una url equivalente perché con il metodo post i parametri non sono inseriti nell'url ma nell'header della richiesta http.

Non puoi modificare pincopalla.aspx perché accetti anche le richieste in get?

Re: Form: metodo post

Inviato: venerdì 15 giugno 2007, 14:08
da micamalex
Ti ringrazio molto per la risposta.

Purtroppo la pagina pincopalla.aspx è un vincolo e non ho accesso a tale pagina.  :) :)

Senti ma non si potrebbe creare un oggetto (io sto utilizzando JSP) da inserire nella richiesta http e inoltrare alla pagina aspx come se lo stessi facendo dal form?

Grazie ancora!

Re: Form: metodo post

Inviato: venerdì 15 giugno 2007, 14:22
da garak
Non conosco jsp, ma posso dirti che in php quello a cui vuoi arrivare si può fare facilmente usando la funzione header(), che appunto lancia un header http. Probabilmente esiste una funzione analoga per jsp. Cercando "jsp http header" su google escono diversi risultati.

Re: Form: metodo post

Inviato: venerdì 15 giugno 2007, 14:25
da Massimo S.
Potresti creare un jsp intermedia che legge i parametri in get e poi fa lei da client http, lanciando una richiesta in post all'aspx

Esiste una libreria del Progetto Apache per fare questo (fare richieste http) in java, si chiama HTTPClient http://jakarta.apache.org/commons/httpclient/

Re: Form: metodo post

Inviato: venerdì 15 giugno 2007, 14:51
da micamalex
garak ha scritto: Non conosco jsp, ma posso dirti che in php quello a cui vuoi arrivare si può fare facilmente usando la funzione header(), che appunto lancia un header http. Probabilmente esiste una funzione analoga per jsp. Cercando "jsp http header" su google escono diversi risultati.
Si ho trovato qualcosa a riguardo.
Ma tu in php cosa scriveresti nel mio caso?
Supponendo che devi far aprire la pagina aspx in un'altra finestra?  ???

Re: Form: metodo post

Inviato: lunedì 18 giugno 2007, 13:09
da garak
micamalex ha scritto: Ma tu in php cosa scriveresti nel mio caso?
Supponendo che devi far aprire la pagina aspx in un'altra finestra?  ???
Io farei una cosa del genere:

Codice: Seleziona tutto


<?php
require_once 'HTTP/Request.php';
$req =& new HTTP_Request('http://example.com/');
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addHeader('ciccio', 'cappuccio');
$req->addHeader('montecchi', 'capuleti');
$response = $req->sendRequest();
if (PEAR::isError($response)) {
    echo $response->getMessage();
} else {
    echo $req->getResponseBody();
}
?>