如何解决使用Ajax将PHP变量发布到另一个文件中
| 我想将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>
解决方法
如果不需要,您真的不想使用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
中。
, 您需要将数据作为数组/对象发送。这样的事情应该可以解决问题。
$(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\"
});
});
});