使用jQuery post()发送序列化表单数据以及其他数据

时间:2013-09-21 21:35:23

标签: php jquery ajax

我试图在一个帖子()中发送我的表单数据和页码(用于分页),遗憾的是我无法使其正常工作。这是代码,它不包含{name:data}标记。它运行良好,删除但显然分页不起作用。有人知道如何发送序列化表格数据以及变量中的一些信息吗?

$(document).ready(function(){
            //set initial page to zero
        var pageRequest = 0;
        $('.datepicker').datepicker();

        $('#search_text').keyup(function(){
            $('#test_form').submit();
        });

        //assign current page number to variable and get a new page
        $('#page-links').on('click', '.page-indv', function(){
            var pageRequest = $(this).attr('id');
        $('#test_form').submit();});

        //Send form data and page number, recieve JSON results 

        $('#test_form').submit(function(){
            $.post(
                $(this).attr('action'),
                           {pgeNmbr : pageRequest}, //works fine with this line removed
                $(this).serialize(),
                function(data){
                    $('#results').html(data.html);
                    $('#page-links').html(data.page);
                },
                "json"
            );
            return false;
        });
        $('#test_form').submit();
    });

1 个答案:

答案 0 :(得分:1)

使用

..
$(this).serialize()+'&pgeNmbr='+pageRequest
..

serialize()返回param=value&param=value等,因此您只需在最后添加pageRequest。


我意识到答案(如果它仍然不起作用):更改行

var pageRequest = $(this).attr('id'); 

pageRequest = $(this).attr('id');

此处存在一个范围问题,var pageRequest = 0;位于顶部,作为全局变量,但您使用pageRequestvar指定为点击事件中的新局部变量,这在外面是不可见的 - 而且您想要更改以在pageRequest中使用的是“全局”submit()