Jquery $.post не работает

Есть ли хитрость, чтобы заставить эту функцию работать?

Я хочу, чтобы страница была отправлена ​​в test.aspx после нажатия кнопки и параметра POST следующим образом:

мой HTML

<a href="javascript:void(0);" onclick="return submittotest();"><span>Click me</span></a>

JS

function submittotest() {

     $.post("test.aspx", { param: "paramvalue" });

}

2 ответа

Решение

Если вы хотите отправить форму, вам нужно сделать $('#formid').submit();, То, что у вас есть выше, для запроса AJAX. Вам нужно передать функцию обратного вызова в функцию post, если вы хотите что-то сделать с возвращенными данными.

Пример: см. Здесь

HTML

<button id="testbtn">button</button>
<div id="testdiv"></div>

JavaScript

$(function() {
    $('#testbtn').click(function() {
        $.post('/echo/html/', //This just echo's the html parameter's value back
               { html: "Just testing!" },
               function(text) {
                   $("#testdiv").html(text);
               });
    });
});

редактировать
На основании ваших комментариев. Вы можете добавить скрытый элемент ввода со значением, которое вы хотите, к форме, используя jquery. Попробуйте что-то вроде этого:

var yourdatavar = "data you want to post";
$('<input type="hidden">').val(yourdatavar).appendTo('#formid');
$('#formid').submit();

Проверьте это для рабочего примера.

Попробуйте это, он отправит невидимую форму на страницу test.apsx с нужным параметром.

<form id="formToSubmit" action="test.apsx" method="post" style="display:none;">
  <input type="hidden" name="param" value="paramValue"/>
</form>

<a href="#" onclick="$('#formToSubmit').submit();">Submit the page</a>
Другие вопросы по тегам