使用POST方法将参数发布到URL而不使用表单

时间:2009-08-07 11:44:03

标签: javascript forms post

我想使用POST方法将参数发布到URL,但我不能使用表单。即使我使用表单,也必须在没有用户交互的情况下自动发布。这可能吗?我怎么能这样做?

6 个答案:

答案 0 :(得分:27)

使用jQuery.post

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

答案 1 :(得分:13)

您可以使用JavaScript和XMLHTTPRequest(AJAX)在不使用表单的情况下执行POST。检查this link。请注意,您的浏览器需要启用JavaScript。

答案 2 :(得分:4)

cURL是一个选项,使用Ajax以及尽管解决前端的后端问题并不是那么整洁。

关于在没有cURL的情况下执行此操作的非常有用的帖子是:http://netevil.org/blog/2006/nov/http-post-from-php-without-curl

执行此操作的代码(未经测试,未经改进,来自博客文章):

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;
}

答案 3 :(得分:3)

如何在不使用直接PHP的cURL的情况下执行此操作:http://netevil.org/blog/2006/nov/http-post-from-php-without-curl

答案 4 :(得分:0)

可以使用CURL或AJAX完成。作为答案,回应同样神秘。

答案 5 :(得分:-1)

如果您尝试链接某些内容,而不是通过代码执行此操作,则可以通过以下方式重定向您的请求:http://getaspost.appspot.com/