[英]JQuery ajax post problem with PHP
I have a list of records which loop from mysql table, for each record i had assigned an onclick function in order to pass the data for mysql query use to avoid page refresh whenever it was call,
<a href='javascript:void(0)' onclick='PlayMV(\"".$rows["v_type"]."\",\"".$rows["v_id"]."\");'>Play</a>
以下是将值传递给 jquery function:
<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() 并回显它,这将作为“数据”返回,然后您可以执行以下操作:
示例返回 JSON: {'thing': 1234}
var myObject = $.parseJSON(data);
alert(myObject.thing);
警报将显示 1234。
您如何检索 php 中的数据? 您应该能够像这样获取它:
$var1 = $_POST['var1'];
$var2 = $_POST['var2'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.