使用Ajax将PHP变量发布到另一个文件

时间:2011-06-24 23:32:03

标签: php javascript ajax

我想将PHP变量$uid$submissionid发布到文件fblike.php。下面的Ajax格式正确吗?

<?php


ob_start();
session_start();

$uid = $_SESSION['loginid'];

$submissionid = mysql_real_escape_string($_GET['submissionid']);
$_SESSION['submissionid'] = $submissionid;


?>


<head>


<script type='text/javascript' src='jquery.pack.js'></script>
<script type='text/javascript'>
$(function(){
    $("a.connect_widget_like_button").live(function(){

        $.ajax({
            type: "POST",
            data: "action=vote_up&uid="+$(this).attr("uid")"&submissionid="+$(this).attr("submissionid"),
            url: "fblike.php",

        });
    });


}); 
</script>

</head>

2 个答案:

答案 0 :(得分:2)

如果你不需要,你真的不想使用expando属性,特别是因为这是链接...我会jsut做:

<a href="fblike.php?ction=vote_up&uid=1&&submissionid=1">Like</a>

然后你可以做一个简单的事情:

$("a.connect_widget_like_button").live('click', function(e){
   e.preventDefault();
   $.post($(this).attr('href'));
});

现在在php方面你需要知道值的位置。如果你像我在我的例子中所做的那样传递值,它们将在$_GET中(即使它是一个POST请求)。如果您像在原始帖子中那样传递它们,则它们将位于$_POST

答案 1 :(得分:0)

您需要将数据作为数组/对象发送。这样的事情可以解决问题。

$(function(){
    $("a.connect_widget_like_button").live(function(){

        $.ajax({
            type: "POST",
            data: {
                action: "vote_up",
                uid: $(this).attr('uid'),
                submissionid: $(this).attr('submissionid')
            },
            url: "fblike.php"
        });
    });
});