从ajax向php函数发送数据

时间:2012-03-29 11:12:25

标签: php ajax

我正在使用ajax调用,如下所示

       var ID=$(this).attr('id');
       var input=$("#input_"+ID).val();
       var dataString = {id: ID, value: input}; 
        $("#span_"+ID).html(input);

        if(input.length>0)
        {

            $.ajax({
                type: "POST",
                url: "/apps/worker_app.php",
                data: dataString,
                cache: false,
                success: function(html)
                {
                    $("#span_"+ID).html(span);
                }
            });
        }

如何在我的php函数edit_ajax()中获取数据,该数据位于worker_app中 我使用post但数组变空了

由于

4 个答案:

答案 0 :(得分:2)

添加dataType:'json',

var ID=$(this).attr('id');
       var input=$("#input_"+ID).val();
       var dataString = {id: ID, value: input}; 
        $("#span_"+ID).html(input);

        if(input.length>0)
        {

            $.ajax({
                type: "POST",
                url: "/apps/worker_app.php",
                data: dataString,
                dataType: 'json',
                cache: false,
                success: function(msg)
                {
                    $("#span_"+ID).html(span);
                }
            });
        }

并在worker_app.php中获取id和值

  $id=$_POST['id'];
  $value=$_POST['value'];
  edit_ajax($id,$value);

function edit_ajax($id,$value){
      $sql="update from ..........";
}

这是你想要的吗?

答案 1 :(得分:1)

您是否尝试在ajax调用中设置dataType,如下所示:

$.ajax({
  type:"POST",
  url: "/apps/worker_app.php",
  data: dataString,
  cache: false,
  success:function(html) {
  },
  dataType:"json"
});

此外,您可以使用firebug之类的工具来查看数据是否在您的ajax请求中正确传递。

以下是一个例子:

file1.php

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javscript"></script>
<script type="text/javascript">
$(document).ready(function() {
    // catch submit event for your form
    $('#form1').submit(function() {
       // serialize data from form
       var data = $(this).serialize();
       $.ajax({
         type="POST",
         url:"file2.php",
         data:data,
         success:function(resp) {
            // output response
            $('#output').html(resp);
         }
       });
       return false;
    });
]);
</script>
</head>
<body>
  <div id="output"></div>
  <form method="POST" id="form1">
    <input type="text" name="name" />
    <input type="submit" value="send" />
  </form>
</body>
</html>  

file2.php

 <?php
    if(isset($_POST['name'])) {
      header('Content-type: text/html');
      echo '<p>Response From Server - Your name is: '.$_POST['name'].'</p>';
    }
 ?>

答案 2 :(得分:0)

在/apps/worker_app.php中获取那些发布的值

$id=$_POST['id'];
$value=$_POST['value'];

现在使用php函数的值

function edit_ajax($id,$value)
{
   echo $id;
   echo $value;
}

echo $return=edit_ajax($id,$value);

现在您可以将当前页面中的值设为

success: function(html)
{
     $("#span_"+ID).html(span);
}

答案 3 :(得分:0)

>             $.ajax({
>                 type: "POST",
>                 url: "/apps/worker_app.php",
>                 data: dataString,
>                 cache: false,
>                 success: function(msg)
>                 {
>                     $("#span_"+ID).html(msg);
>                 }
>             });

成功时,参数函数接收应与

一样使用
$("#span_"+ID).html(msg);