2011-06-24 69 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

相關問題