POST 从 javascript 请求 PHP

POST request to PHP from javascript

我基本上想将一个变量提交到同一页面 (index.php),以便我可以在我的 PHP 中使用它。如果我提交它工作正常,但我想使用变量而不是输入元素,以及在页面加载时触发,所以理想情况下都在 javascript 中。我是 Javascript 中的 GET 和 POST ajax 的新手,并且无法使用它来做到这一点。任何人都可以帮我在 Javascript/jQuery 中写下我想做的事情吗?

HTML 目前:

 <form method="POST">
 <input type="text" name="myInput" id="name="myInput">
 <input type="submit">
 </form>

PHP:

 $answer = $_POST['myInput'];
 echo $answer;

这里是使用 jQuery 对您的问题的快速回答:

$.post( "index.php", { myInput: "myValue", myOtherInput: "myOtherValue" } );

由于您 post 访问同一页面,因此可以省略 url 值:

$.post( "", { myInput: "myValue", myOtherInput: "myOtherValue" } );

但是,此方法使用 AJAX 并且不会执行整页 post 返回(页面不会重新加载)。

如果 postback 是必需的(如提交常规 <form>,那么您可以这样做:

$('form').submit(function () {
    var input = $("<input>")
               .attr("type", "hidden")
               .attr("name", "myOtherInput").val("myOtherValue");
    $(this).append(input);
    return true;
});

该代码将拦截表单 submit 事件并添加另一个 <input>,名称为 myOtherInput,值为 myOtherValue

您可以像在 post 中访问 myValue 一样访问它:

$myValue = $_POST['myValue'];
$myOtherValue = $_POST['myOtherValue'];

应该在点击进入当前页面时对PHP做一个post,而不是试图抓取onload。这帮助我解决了问题。