使用PHP的JQuery ajax发布问题

时间:2011-07-18 08:59:00

标签: php jquery ajax post

我有一个从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查询以检索最终结果,有人可以帮忙吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

你的脚本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,只需提醒(数据),看看刚刚返回的是什么。

在mtv.php中,使用json_encode()并回显它,这将作为“数据”返回,然后您可以执行以下操作:

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

var myObject = $.parseJSON(data);    

alert(myObject.thing);

警报将显示1234。

答案 1 :(得分:1)

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

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