使用jquery在submit中检索PHP post值

时间:2013-08-17 12:13:33

标签: php jquery forms

我想以jquery形式在php中检索post值,以便使用jquery提交表单。我正在使用jquery.submit()函数来提交我的表单。示例如下

$('#form').submit(function{
   var data = '//post variables from php script here';
   $.ajax({
    type:'post',
    data:data,
    url://url to save the data,
    success:function(response){
       //success message here;
    }
});

有人可以帮助我吗?

4 个答案:

答案 0 :(得分:0)

我不知道你想要做什么,但据我所知,你似乎需要 json_encode php函数。

var data = '<?php echo json_encode($_POST)?>';

答案 1 :(得分:0)

您不能直接在JavaScript中提取POST变量 - 您可以使用GET,因为它们是URL的一部分(?my_get_variable = is_here等)

如果你真的需要在JavaScript中访问你的POST变量,你可以做的是让一些PHP迭代并打印出post变量。以下代码使用传递给页面的post变量填充名为PostVariables的JavaScript数组:

<script type="text/javascript">
    var postVariables = new Array();
    <?php foreach($_POST as $key => $value): ?>
    postVariables['<?=$key?>'] = '<?=$value?>';
    <?php endforeach; ?>
</script>

如果您的POST正文是name = John&amp; pet = Cat&amp; friends = Many,您将获得以下代码:

<script type="text/javascript">
     var postVariables = new Array();
     postVariables['name'] = 'John';
     postVariables['pet'] = 'Cat';
     postVariables['friends'] = 'Many';
</script>

当然,这确实需要PHP。

如果您需要该格式的数据,只需调整脚本:

 <script type="text/javascript">
     var myData = "";
    <?php foreach($_POST as $key => $value): ?>
    myData += "<?=$key?>=<?=$value?>&";
    <?php endforeach; ?> 
 </script> 

答案 2 :(得分:0)

您可以使用serialize发布表单数据。示例表格:

<form id="myForm" method="POST">
    <input name="one" value="11" />
    <input name="two" value="22" />
    <input id="submit" type="submit" value="11" />
</form>

<div id="test"></div>

的Javascript

<script type="text/javascript">

$('#submit').click(function(e) {
    e.preventDefault(); 
    $.ajax({
        type:'POST',
        data: $("#myForm").serialize(),
        url:'mypage.php',
        success:function(response){
           $("#test").html(response);
        }
    });
});

</script>

mypage.php

<?php  var_dump($_POST); ?>

输出

array (size=2)
  'one' => string '11' (length=2)
  'two' => string '22' (length=2)

答案 3 :(得分:0)

解决了自己。一直在我的网站上使用插件jquery表单。使用相同的方式实现表单提交。 http://malsup.com/jquery/form/#ajaxForm