JQuery ajax post problem with PHP


JQuery ajax post problem with PHP

我有一个记录列表,从mysql表中循环,对于每条记录,我都分配了一个onclick函数,以便传递mysql查询使用的数据,以避免页面刷新,

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

下面是传递值给jquery函数:

<script type="text/javascript">
function PlayMV(data1, data2){
$.post("mtv.php", { var1: "data1", var2: "data2" },
    function(data){
    $('#result').html(data);
});
}
</script>

问题来了,"$('#result').html(data);"总是在源代码中返回给我一整页,而不是只保留值,我想要的只是能够发布'data1'和'data2'并分配给php变量和mysql查询,如下所示:

$var1 = data1;
$var2 = data2;
$q = mysql_query("SELECT * FROM table WHERE mvtype='".$var1."' AND mvid='".$var2."'");

如何使用JSON将这些数据传递到mysql查询中以检索最终结果,有人可以帮助吗?

您的脚本mtv.php将在$_POST全局变量中接收它们。

你应该能够得到$_POST['var1'], $_POST['var2']参数

脚本应为:

<script type="text/javascript">
    function PlayMV(data1, data2){
        $.post("mtv.php", { var1: data1, var2: data2 },
            function(data){
                alert("Data Loaded: " + data);
        });
    }
</script>

你的值有引号。

编辑

哦,如果你想从php返回一些数据,你可以返回XML或JSON,只需alert(data)看看刚才返回的是什么

在mtv.php中,使用json_encode()并回显它,这将作为'data'返回,然后你可以这样做:

示例返回JSON: {'thing': 1234}

var myObject = $.parseJSON(data);    
alert(myObject.thing);

警告将显示1234

如何在php中检索数据?你应该能够像这样获取它:

$var1 = $_POST['var1'];
$var2 = $_POST['var2'];