0

我将 2 个带有 ajax 的变量传递给同一个 .php 文件。我在 console.log 中看到了它们,但我似乎无法回应它们。我已经尝试了在其他问题中发现的几件事,但似乎没有用。我需要添加/更改什么?

我的代码:

<script>
$(document).ready(function () {
    $("#slider").bind("valuesChanged", function (e, data) {
        $.ajax({
            type : "POST",
            url : "../wp-content/themes/twentytwelve/fields/test.php",
            data : {
                minValue : data.values.min,
                maxValue : data.values.max
            },
            cache : true,
            async : false,
            success : function (data) {
                console.log(data);
            },
            error : function (xhr) {
                alert('fail')
            }
        });
    });
});
</script>

和php部分:

<?php if ( $_POST ) {
    echo $_POST['minValue'];
 }

?>

顺便说一句:它只传递第一个值(minValue)而不传递另一个值。如何通过他们两个?谢谢!

4

3 回答 3

2

也许通过打印两个值?

<?php 
if (!empty($_POST)) {
    echo $_POST['minValue'];
    echo $_POST['maxValue'];
}
?>
于 2013-07-09T08:28:58.243 回答
0

您能否在调试面板中看到您的请求详细信息,例如 FF 中的 Firebug 或基于 Chromium 的浏览器中的(我不知道它是如何调用的)?是否有所有传递的数据?如果不是,则 JS 中的错误。

还要在服务器端打印出整个 POST 数据以查看 POST 内容。

于 2013-07-09T08:41:41.787 回答
0

要传递更多值,请在 php 端尝试这样的操作:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: application/json");
echo json_encode(array(
    'a' => 1,
    'b' => 2
));
于 2013-07-09T08:49:30.910 回答