【问题标题】:JQuery ajax post problem with PHPPHP 的 JQuery ajax 发布问题
【发布时间】:2011-07-18 08:59:00
【问题描述】:

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

非常感谢。

【问题讨论】:

    标签: php jquery ajax post


    【解决方案1】:

    您的脚本 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。

    【讨论】:

    • 我认为他实际上只是为了示例/测试而将变量设置为这些字符串。
    • 不......它们是函数的参数,检查他的 Q 你会看到它们被引用......而他的调用正在传递替代数据 $rows["v_type"] 和 $rows[ “v_id”]。
    【解决方案2】:

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

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

    【讨论】:

    • 嗨,我可以检索正确分配在 php 变量中的数据,这是我最难解析到 mysql 查询的部分,function(data){ $('#result').html(data );请告诉我有关如何使用它的更多 json 示例。
    • 啊,您的问题并没有完全说明这是问题所在:) 只需将您的结果放入一个 php 数组中,然后对该数组执行 json_encode 并回显结果。然后,您可以使用来自 javascript 的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 2013-01-10
    • 2011-04-19
    • 1970-01-01
    • 2016-12-14
    相关资源
    最近更新 更多