我有一个从 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,只需警报(数据)即可查看刚才返回的内容。
在 mtv.php 中,使用 json_encode() 并回显它,这将作为“数据”返回,然后您可以执行以下操作:
返回 JSON 示例:{'thing': 1234}
var myObject = $.parseJSON(data);
alert(myObject.thing);
警报将显示 1234。
关于php - PHP 的 JQuery ajax post 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730590/