繁体   English   中英

JQuery ajax 发布问题与 PHP

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM