我可以直接在php页面中打印 AJAX 通过post请求发送的数据吗[关闭]

yruzcnhs  于 2023-06-20  发布在  PHP
关注(0)|答案(1)|浏览(95)

已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

4天前关闭。
Improve this question
我想通过 AJAX 发送一个post请求到一个php页面,然后用$_POST在php页面中打印它,但是我发现我不能像用表单那样跳转到页面然后打印出数据

<script>
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "2.php", true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.onreadystatechange = function() {
        if (xhr.readyState === 4 && xhr.status === 200) {
            window.location.href = "2.php"
        }
    };
    xhr.send("username=John&email=john@example.com");
</script>
<?php
$username = $_POST['username'];
$email = $_POST['email'];

echo "Received username: " . $username . "<br>";
echo "Received email: " . $email;

其实我能想到的都做了,但还是不能实现在php中直接打印数据,应该是我的基础太差了,希望有高手能教我,写写写

nimxete2

nimxete21#

如果你只是想让用户被重定向到提交PHP,最简单的方法就是提交一个POST表单:

<form id="my-account-form" method="POST" action="2.php">
  <input type="hidden" name="username" value="">
  <input type="hidden" name="email" value="">
</form>

...
...
...

<script>
// Use this function to fill in username + password and submit.
function submitAccount(username, password) {
  const form = document.getElementById('my-account-form');
  form.querySelector('input[name=username]').value = username;
  form.querySelector('input[name=password]').value = password;
  form.submit();
}
submitAccount('John', 'john@example.com');
</script>

相关问题