2011-06-24 71 views
0

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

<?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> 

回答

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" 
     }); 
    }); 
}); 
+0

虽然作为散列传递数据更容易阅读(我也更喜欢它)使用查询字符串将工作。 – prodigitalson

2

你不是真的想,如果你没有,特别是因为thise是链接上使用的expando属性......我会做的仅仅指刚:

<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

+0

谢谢...我没有使用你的确切解决方案,但用Facebook Like按钮将URL放入href中导致我走向正确的道路。 – John

相关问题