可以在php文件中获取Ajax发送的变量
It is possible to get the variables sent by Ajax in php file
我的表单在 PHP 文件中定义如下(使用 jquery-2.1.4.min.js
):
<form id = "testForm" action="" method="post" >
First name: <input type="text" name="FirstName" id="FirstName" value="Mickey"><br>
Last name: <input type="text" name="LastName" id="LastName" value="Mouse"><br>
<button type = "button" onclick="submit()">Submit Top Test </button>
</form>
单击按钮时将调用以下函数。
function submit(){
var firstName = $('#FirstName').val();
alert("Inside SubmitQuery "+firstName);// Work fine
var request = $.ajax({
url: 'php/<path to php file>/processPost.php',
type:'POST',
data:{title:firstName},
success: function(msg) {
alert(msg);// I can see the var_dumps here
}
});
}
在processPost.php
文件中,我定义了下面两个var_dumps
:
1) var_dump(isset($_POST['title']));
2) var_dump ($_POST['title']);
我可以看到 alert(msg)
window 中打印的值。在开发者工具 window 的 Network
选项卡的 Response
选项卡中也是如此。但我想拥有这些变量
在 processPost.php
文件中可用,这样我就可以使用它来对 Web 服务调用发出 curl 请求。是否可以在 processPost.php
文件中获取这些变量?
我的意思是,你基本上在你的问题中回答了你自己的问题。您拥有此文件的事实:
processPost.php:
<?php
var_dump( $_POST['title'] );
?>
并且您的 success: function(msg){ alert(msg); }
正确地提醒 "Coder"(或您提交的任何名称)字面意思是变量 $_POST['title']
可用你的 processPost.php
文件。如果 alert(msg)
什么也没给你,或者给你一个错误,那么你就知道出了问题。
success: function(msg)
意味着,如果成功,从您的 url
(在本例中为 processPost.php)获取输出值,并将其提供给您的 javascript作为名为 msg
.
的变量
是的,你已经拥有它了。
仔细看看这里发生了什么。您正在向 php 文件发出 Ajax 请求。该文件处理 $_POST 变量并使用 var_dump()
输出它。由于来自 jQuery,响应返回到 jQuery。您已使用 alert()
来显示该消息。
在您的 php 脚本中,您可以使用 $_POST['title']
创建您的 curl 请求。
请小心清理或验证您的输入,以免创建注入孔。不要直接接受用户输入 运行。
我的表单在 PHP 文件中定义如下(使用 jquery-2.1.4.min.js
):
<form id = "testForm" action="" method="post" >
First name: <input type="text" name="FirstName" id="FirstName" value="Mickey"><br>
Last name: <input type="text" name="LastName" id="LastName" value="Mouse"><br>
<button type = "button" onclick="submit()">Submit Top Test </button>
</form>
单击按钮时将调用以下函数。
function submit(){
var firstName = $('#FirstName').val();
alert("Inside SubmitQuery "+firstName);// Work fine
var request = $.ajax({
url: 'php/<path to php file>/processPost.php',
type:'POST',
data:{title:firstName},
success: function(msg) {
alert(msg);// I can see the var_dumps here
}
});
}
在processPost.php
文件中,我定义了下面两个var_dumps
:
1) var_dump(isset($_POST['title']));
2) var_dump ($_POST['title']);
我可以看到 alert(msg)
window 中打印的值。在开发者工具 window 的 Network
选项卡的 Response
选项卡中也是如此。但我想拥有这些变量
在 processPost.php
文件中可用,这样我就可以使用它来对 Web 服务调用发出 curl 请求。是否可以在 processPost.php
文件中获取这些变量?
我的意思是,你基本上在你的问题中回答了你自己的问题。您拥有此文件的事实:
processPost.php:
<?php
var_dump( $_POST['title'] );
?>
并且您的 success: function(msg){ alert(msg); }
正确地提醒 "Coder"(或您提交的任何名称)字面意思是变量 $_POST['title']
可用你的 processPost.php
文件。如果 alert(msg)
什么也没给你,或者给你一个错误,那么你就知道出了问题。
success: function(msg)
意味着,如果成功,从您的 url
(在本例中为 processPost.php)获取输出值,并将其提供给您的 javascript作为名为 msg
.
是的,你已经拥有它了。
仔细看看这里发生了什么。您正在向 php 文件发出 Ajax 请求。该文件处理 $_POST 变量并使用 var_dump()
输出它。由于来自 jQuery,响应返回到 jQuery。您已使用 alert()
来显示该消息。
在您的 php 脚本中,您可以使用 $_POST['title']
创建您的 curl 请求。
请小心清理或验证您的输入,以免创建注入孔。不要直接接受用户输入 运行。