可以在php文件中获取Ajax发送的变量

时间:2018-03-20 04:24:52

标签: javascript php ajax jquery-2.0

我的表单在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)窗口中打印的值。在开发人员工具窗口的Response选项卡的Network选项卡中也是如此。但我想拥有这些变量 在processPost.php文件中可用,以便我可以使用它来发出对webservice调用的curl请求。是否可以在processPost.php文件中获取这些变量?

2 个答案:

答案 0 :(得分:0)

我的意思是,你基本上在你的问题中回答了你自己的问题。您拥有此文件的事实:

<强> processPost.php:

<?php
    var_dump( $_POST['title'] );
?>

并且您的success: function(msg){ alert(msg); }正在警告&#34; Coder&#34; (或您提交的任何名称)字面意思变量$_POST['title']在您的processPost.php文件中可用。如果alert(msg)没有给您任何内容或错误,那么您就知道出现了问题。

success: function(msg)表示如果成功,请从url(在本例中为processPost.php)中获取输出值,并将其作为名为{{1}的变量提供给您的javascript }。

答案 1 :(得分:0)

是的,你已经拥有它了。

仔细看看这里发生了什么。您正在向php文件发出Ajax请求。该文件处理$ _POST变量并使用msg输出。由于来自jQuery,响应可以追溯到jQuery。您已使用var_dump()显示该消息。

在您的php脚本中,您可以使用alert()创建您的卷曲请求。

请注意,您要清理或验证输入,以免造成注射孔。不要接受用户输入并直接运行它。