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>