繁体   English   中英

AJAX 使用 POST 重新加载页面

[英]AJAX reload page with POST

谁能告诉我如何使用 JavaScript 刷新当前页面,修改或添加 POST 变量?

明确地说,我想在重新加载页面之前设置一些 POST 变量。

通过使用jquery ajax,您可以重新加载页面

$.ajax({
    type: "POST",
    url: "packtypeAdd.php",
    data: infoPO,
    success: function() {   
        location.reload();  
    }
});

如果要刷新整个页面,使用AJAX是没有意义的。 使用普通的Javascript在该页面中发布表单元素。 确保表单提交到同一页面,或者表单提交到页面然后重定向回该页面

要使用的Javascript(总是在myForm.php中):

function submitform()
{
  document.getElementById('myForm').submit();
}

假设您的表单在myForm.php上:方法1:

<form action="./myForm.php" method="post" id="myForm">
    ...
</form>

方法2:

myForm.php:

<form action="./myFormActor.php" method="post" id="myForm">
    ...
</form>

myFormActor.php:

<?php
    //all code here, no output
    header("Location: ./myForm.php");
?>

重新加载当前文档:

 <script type="text/javascript">
 function reloadPage()
 {
   window.location.reload()
 }
 </script>

另一种方式使用post而不是ajax

var jqxhr = $.post( "example.php", function() {
  alert( "success" );
})
  .done(function() {
    alert( "second success" );
  })
  .fail(function() {
    alert( "error" );
  })
  .always(function() {
    alert( "finished" );
  });

做起来也有问题,但如果你不使用 ajax 会更好。

<script>
$(document).ready(function(){
SelectOnChange = document.querySelector("#payment"); //for <select> didn`t include it...
SelectOnChange.onchange = function(){
    SelectedValue = SelectOnChange.value;
    document.querySelector("#payment_schedule_date").value = SelectedValue;
    document.getElementById('paymentform').submit(); //<form>
}
});
</script>

在 HTML 中,只需隐藏输入并使用 use.submit() 提交使用表单。

<form name="paymentform" id="paymentform" action="#" method="post">
<input hidden name="payment_schedule_date" id="payment_schedule_date" value="">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM