19

I want to post parameters to a URL using the POST method but I cannot use a form. Even if I do use a form, it would have to be auto-posted with out user interaction. Is this possible? How can I do this?

n3rd
  • 5,989
  • 4
  • 39
  • 56
Gaurav Sharma
  • 4,032
  • 14
  • 46
  • 72

6 Answers6

27

Using jQuery.post

$.post(
  "http://theurl.com",
  { key1: "value1", key2: "value2" },
  function(data) {
    alert("Response: " + data);
  }
);
Josh Stodola
  • 81,538
  • 47
  • 180
  • 227
14

You could use JavaScript and XMLHTTPRequest (AJAX) to perform a POST without using a form. Check this link out. Keep in mind that you will need JavaScript enabled in your browser though.

Pablo Santa Cruz
  • 176,835
  • 32
  • 241
  • 292
4

cURL is an option, using Ajax as well eventhough solving back-end problems with the front-end isn't so neat.

A very useful post about doing it without cURL is this one: http://netevil.org/blog/2006/nov/http-post-from-php-without-curl

The code to do this (untested, unimproved, from the blog post):

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;
}
Mythica
  • 1,112
  • 10
  • 19
3

How to do it without using cURL with straight-up PHP: http://netevil.org/blog/2006/nov/http-post-from-php-without-curl

Mr. Smith
  • 5,489
  • 11
  • 44
  • 60
-1

it can be done with CURL or AJAX. The response is equally cryptic as the answer.

Elzo Valugi
  • 27,240
  • 15
  • 95
  • 114
-1

If you're trying to link to something, rather than do it from code you can redirect your request through: http://getaspost.appspot.com/

Dave
  • 917
  • 1
  • 8
  • 20