我在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美元(;
我可以看到在alert(msg)
窗口中打印的值。在开发人员工具窗口的"Network
"选项卡的"Response
"选项卡中也是如此。但是我想有这些变量在processPost.php
文件中可用,以便我可以使用它向 Web 服务调用发出 curl 请求。是否可以将这些变量放在processPost.php
文件中?
我的意思是,你基本上在你的问题中回答了你自己的问题。您拥有此文件的事实:
进程发布.php:
<?php
var_dump( $_POST['title'] );
?>
并且您的success: function(msg){ alert(msg); }
正在正确提醒"Coder"(或您提交的任何名称(字面意思是变量$_POST['title']
在您的processPost.php
文件中可用。如果alert(msg)
什么也没给你,或者一个错误,那么你就会知道出了什么问题。
success: function(msg)
意味着,如果成功,从url
(在本例中为 processPost.php(获取输出值,并将其作为名为 msg
的变量提供给您的 javascript 。
是的,你已经有了。
仔细看看这里发生了什么。您正在向 php 文件发出 Ajax 请求。该文件处理 $_POST 变量并使用 var_dump()
输出它。由于来自jQuery,因此响应返回到jQuery。您已使用alert()
来显示该消息。
在你的 php 脚本中,你可以使用 $_POST['title']
来创建你的 curl 请求。
请注意对输入进行消毒或验证,以免产生注射孔。不要接受用户输入并直接运行它。