Jquery ajax json post to php variable


Jquery ajax json post to php variable

我正在通过mysql表循环并为每行打印HTML "Play"链接。

我试图避免在每次点击"播放"链接时刷新页面,所以我将javascript放在链接的"href":

<a href='javascript:void(0)' onclick='playMV('"".$rows["v_type"]."'",'"".$rows["v_id"]."'");'>Play</a>

playMV()函数将通过jquery ajax post向服务器发送必要的信息,以获得所需的值。服务器上的php脚本将使用mysql查询中的值。

// javascript:
<script type="text/javascript">
    function playMV(p1, p2) {
        $.post("?opt=music", {
            var1: p1,
            var2: p2
        }, function (data) {
            //$('#result').html(p2);
        });
    }
</script>

// PHP:
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];
$q = mysql_query("SELECT * FROM table WHERE v_lang='".$var1."' AND v_id='".$var2."'");

我的问题是:我不知道如何调用'p1'和'p2'值并分配给php变量。注释行$('#result').html(p2)仅输出id='result'的div块中的值,但实际上不能将其传递给php。我已经阅读了一些关于json的东西的答案,但最终甚至不能得到我想要的。

请帮助我,因为我已经在这部分卡住了很长时间。

非常感谢!

// whole code
<script type="text/javascript">
    function playMV(p1, p2) {
        $.post("<?php echo curPageURL() ?>", {
            var1: p1,
            var2: p2
        }, function (data) {
            //$('#result').html(p2);
            //$('#result').html(data);
        });
    }
</script>

<?php
mysql_set_charset("utf8");
$var1 = $_POST['var1'];
$mvid = $_POST['var2'];
echo $var1.$var2;
//echo var_dump($_POST);
$count = 1;
if((strpos(curPageURL(),'mv')==false) || (strpos(curPageURL(),'type')==false)){
$type = ucwords("C");
$mvid = 1;
}
$mtv_data = array();
$mtvlist = mysql_query("SELECT * FROM ".$tb01." WHERE mtv_type='".$type."' ORDER BY     mtv_order ASC LIMIT 0, 10") or die(mysql_error());
while($rows = mysql_fetch_array($mtvlist)){
$mtv_data[] = $rows;
}
$q = mysql_query("SELECT * FROM ".$tb01." WHERE mtv_id='".$mvid."'") or die(mysql_error());
$r = mysql_fetch_array($q);
?>
<span id="result"></span>
<div align="center" class="content-layer1" style="height:600px;padding-bottom:20px;">
<div class="content-layer2">
    <div style="width:900px;text-align:left;padding:18px 18px 8px 18px;">
        <h1>MUSIC ZONE</h1>
    </div>
    <div style="width:900px;text-align:left;padding:10px;">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="55%">
            <div id='mediaspace' align='center'>
            <img src="images/ajax-loader.gif">
            </div>
            <div><?php echo $r["mtv_title"] ?><br /><?php echo $r["mtv_artist"] ?>  </div>
            </td>
            <td width="45%" valign="top">
            <div style="border:0px #000 solid;">
            <table width='100%' border='1' cellspacing='2' cellpadding='2'>
            <?php
    foreach($mtv_data as $rows){
        echo "<tr>
                <td>".$count."</td>
            <td><div>".$rows["mtv_title"]."</div><div>".$rows["mtv_artist"]."</div></td>
            <td><a href='javascript:void(0)' onclick='playMV('"".$rows["mtv_type"]."'",'"".$rows["mtv_id"]."'");' id='playmv'>Play</a>
            </td>
          </tr>";
        $count += 1;
    }
            ?>
            </table>
            </div>
            </td>
          </tr>
        </table>

    </div>
</div>
</div>

use json_decode()

$object = json_decode(json_string)