Отправить данные POST вместе, когда ссылка нажата без использования форм? - PullRequest
1 голос
/ 10 марта 2012

На моей странице есть несколько обычных ссылок на якорные теги, которые открывают всплывающее окно, в котором отображаются все данные GET, которые я передаю через URL:

<a href="javascript:window.open('view.php?data=a%20bunch%20of%20data');">View</a>

Некоторые из этих данных действительно длинные, и мой дряннойВеб-хостинг имеет очень небольшое ограничение на размер данных GET, которые могут быть переданы в URL.Есть ли способ сделать это с данными POST, без использования HTML-форм?

Ответы [ 4 ]

8 голосов
/ 10 марта 2012

Вам нужно будет использовать формы. Тем не менее, вы можете вложить свою гиперссылку в форму:

<form method="post" action="somepage.php" id="form1">
<input type="hidden" name="field1" value="foo" />
<input type="hidden" name="field2" value="bar" />
<a href="somepage.php?field1=foo&field2=bar" onclick="document.getElementById('form1').submit(); return false;">Hyperlink</a>
</form>
2 голосов
/ 10 марта 2012

Я только что столкнулся с такой же дилеммой и придумал это решение в jQuery:

<a href="#" id="post-link">Example</a>

<script type="text/javascript">
     $(document).ready(function () { 
          $('a#post-link').click(function() {
               $('body').append($('<form/>', {
                    id: 'form',
                    method: 'POST',
                    action: '#'
               }));

               $('#form').append($('<input/>', {
                    type: 'hidden',
                    name: 'field1',
                    value: 'foo'
               }));

               $('#form').append($('<input/>', {
                    type: 'hidden',
                    name: 'field2',
                    value: 'bar'
               }));

               $('#form').submit();

               return false;
          });
     } );
</script>
1 голос
/ 24 января 2013

Одна вещь, которую я узнал за долгий опыт веб-разработки: если вы сталкиваетесь с ограничениями со своего хостинга, разместите свой сайт где-нибудь еще.Обход ограничений хостинга - какими бы они ни были - не заставит вас долго ждать.Хостинг дешевый, вы можете получить VPS с щедрыми ресурсами по очень разумным ценам.

Это того не стоит.

1 голос
/ 10 марта 2012

Вы также можете использовать XMLHttpRequest

http://www.w3schools.com/xml/xml_http.asp

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