PHP 表单提交会导致整个文件刷新吗?

Do PHP form submissions cause the whole file to refresh?

使用<form action = "<?php echo $_SERVER['PHP_SELF']; ?>" method = "post">是否会在用户点击提交时导致整个页面刷新?或者只是 PHP 部分?

页面通常会在提交表单后重新加载以显示收到的回复

为了防止这种情况,您有两种方法:

  1. 在表单标签中使用 target=_blank
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" target="_blank">
  1. 使用 event.preventDefault(); 来阻止表单的默认操作,然后使用 fetch 手动发送数据,或者如果您使用 JQuery,则可以使用 ajax。 (我将使用获取标准 API)
document.getElementByTagName("form")[0].addEventListener('submit', function(event) {
  event.preventDefault();

  const url = 'https://randomuser.me/api';
  // The data we are going to send in our request
  const data = {
    name: 'Sara'
  }
  // The parameters we are gonna pass to the fetch function
  const fetchData = {
    method: 'POST',
    body: data,
    headers: new Headers()
  }
  fetch(url, fetchData)
    .then(function() {
      // Handle response you get from the server
    });
});