使用$ .post从表单接收php服务器中的数据

使用$ .post从表单接收php服务器中的数据

问题描述:

Getting following error in place of the value

Notice: Undefined index: data in /home/ashutosh/public_html/xyz/about/testimonials/serviceTestimonials.php on line 6 dddd

The code segment:

On webpage: . . .

               <form id="formTesti" name="formTesti" action="serviceTestimonial.php" method="post">
                    <input type="hidden" name="page" id="page" value="1">
                    <input type="hidden" name ="row" id="row" value="10">
                    <button type="submit" name="button" id="buttonPrev" value="Prev">Previous</button>
                    <button type="submit" name="button" id="buttonNext" value="Next">Next</button>
                </form>
            </div>
        </div>

    </div>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
        //get the data when loading the page
        $(document).ready(
                function()
                {
                    $("#formTesti").submit(function(){
                        return false;
                        //event.preventDefault();
                    });
                    $("#buttonPrev").click(function(){
                        $("#page").val(parseInt($("#page").val())-1);
                        Doit();
                    });

                    $("#buttonNext").click(function(){
                        $("#page").val(parseInt($("#page").val())+1);
                        Doit();
                    });

                    function Doit(){
                        var data = $("#formTesti:input").serializeArray();
                        //alert(data);
                        $.post(
                                "serviceTestimonials.php",
                                data,
                                function(json){
                                    if(json.status="fail")
                                        alert(json.message());
                                    else {

                                    }
                                },
                                "json"
                        );
                    }
                }
        );

    </script>

server side code:

print_r($_POST["data"]);

die(" dddd ");

Thanks all for support. It seems when $.post is used for json data transfer, we need to use the parameter in callback function for client to server data transfer as well as server to client.

So code changes required was: var json = $("#formTesti:input").serializeArray();

You have to pass key value pair for data in post.. not data variable.. something like this

$.post( "test.php", { name: "John", time: "2pm" } );

var data = $("#formTesti").serialize();
$.post(
    "serviceTestimonials.php",
    data: data,
    function(json){
      if(json.status="fail")
          alert(json.message());
      else {

      }
   },
"json"
);