0

我想以 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

4 回答 4

0

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

var data = '<?php echo json_encode($_POST)?>';
于 2013-08-17T12:18:41.570 回答
0

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

如果你真的需要在 JavaScript 中访问你的 POST 变量,你可以做的是让一些 PHP 迭代并打印出 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&pet=Cat&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> 
于 2013-08-17T12:19:50.483 回答
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>

我的页面.php

<?php  var_dump($_POST); ?>

输出

array (size=2)
  'one' => string '11' (length=2)
  'two' => string '22' (length=2)
于 2013-08-17T12:19:56.610 回答
0

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

于 2013-08-18T07:29:50.007 回答