jquery post没有传递所有参数

时间:2013-09-18 22:58:49

标签: php jquery ajax

我有这个jquery代码:

var idd = $(this).attr("id");
var page = $(this).attr("page");

    var data = "lastmsg="+idd+"&page="+page;

    $.ajax({
        type: "POST",
        url: "ajax_more.php",
        data: data,
        success: function(html){
            $("ol#live_updates").append(html);
            $("#more"+idd).remove(); // removing old more button
        }
    });

这是“ajax_more.php”代码:

if(isset($_POST['lastmsg']))
{
    $lastmsg = mysql_real_escape_string($_POST['lastmsg']);
    $page = mysql_real_escape_string($_POST['page']);

        echo $lastmsg . " " . $page;
}

仅传递($ lastmsg),但未传递任何其他参数,如($ page)。问题出在哪儿 ?? 我试过($ .post)和($ .ajax)“POST”类型,两者都不起作用......

2 个答案:

答案 0 :(得分:3)

data应该是一个对象。

var data = {lastmsg: idd, page: page};

答案 1 :(得分:-2)

您需要使用encodeURI正确编码所有ajaxed参数。

有关详情,请参阅我的回答here。另外,使用浏览器的控制台进行调试。