web-dev-qa-db-fra.com

Publication de paramètres dans une URL à l'aide de la méthode POST sans utiliser de formulaire

Je souhaite publier des paramètres sur une URL à l'aide de la méthode POST mais je ne peux pas utiliser de formulaire. Même si j'utilise un formulaire, il devrait être publié automatiquement sans interaction avec l'utilisateur. Comment est-ce possible?

18
Gaurav Sharma

Vous pouvez utiliser JavaScript et XMLHTTPRequest (AJAX) pour effectuer un POST sans utiliser de formulaire. Vérifiez ce lien out. Gardez à l'esprit que vous aurez besoin de JavaScript activé dans votre navigateur cependant.

14
Pablo Santa Cruz

Utilisation de jQuery.post

$.post(
  "http://theurl.com",
  { key1: "value1", key2: "value2" },
  function(data) {
    alert("Response: " + data);
  }
);
27
Josh Stodola

cURL est une option, en utilisant Ajax aussi bien que la résolution de problèmes back-end avec le front-end n'est pas si nette.

Un article très utile pour le faire sans cURL est celui-ci: http://netevil.org/blog/2006/nov/http-post-from-php-without-curl

Le code pour ce faire (non testé, non amélioré, à partir du billet de blog):

function do_post_request($url, $data, $optional_headers = null)
{
   $params = array('http' => array(
                'method' => 'POST',
                'content' => $data
             ));
   if ($optional_headers !== null) {
      $params['http']['header'] = $optional_headers;
   }
   $ctx = stream_context_create($params);
   $fp = @fopen($url, 'rb', false, $ctx);
   if (!$fp) {
      throw new Exception("Problem with $url, $php_errormsg");
   }
   $response = @stream_get_contents($fp);
   if ($response === false) {
      throw new Exception("Problem reading data from $url, $php_errormsg");
   }
   return $response;
}
4
Mythica

Comment le faire sans utiliser cURL avec PHP directement: http://netevil.org/blog/2006/nov/http-post-from-php-without-curl

3
Mr. Smith

cela peut être fait avec CURL ou AJAX. La réponse est tout aussi cryptique que la réponse.

0
Elzo Valugi