Публикация параметров в URL с использованием метода POST без использования формы - PullRequest
18 голосов
/ 07 августа 2009

Я хочу опубликовать параметры в URL, используя метод POST, но я не могу использовать форму. Даже если я использую форму, она должна быть автоматически опубликована без взаимодействия с пользователем. Это возможно? Как я могу это сделать?

Ответы [ 6 ]

27 голосов
/ 07 августа 2009

Использование jQuery.post

$.post(
  "http://theurl.com",
  { key1: "value1", key2: "value2" },
  function(data) {
    alert("Response: " + data);
  }
);
13 голосов
/ 07 августа 2009

Вы можете использовать JavaScript и XMLHTTPRequest (AJAX) для выполнения POST без использования формы. Проверьте эту ссылку . Помните, что в вашем браузере должен быть включен JavaScript.

4 голосов
/ 07 августа 2009

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 голосов
/ 07 августа 2009

Как это сделать без использования cURL с обычным PHP: http://netevil.org/blog/2006/nov/http-post-from-php-without-curl

0 голосов
/ 03 декабря 2010

Если вы пытаетесь связать что-то, вместо того, чтобы делать это из кода, вы можете перенаправить ваш запрос через:

0 голосов
/ 07 августа 2009

это можно сделать с помощью CURL или AJAX. Ответ такой же загадочный, как и ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...