无法回应Ajax变量传递

时间:2013-07-09 08:26:43

标签: php javascript jquery ajax

我将带有ajax的2个变量传递给同一个.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'];
 }

?>

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

3 个答案:

答案 0 :(得分:2)

也许打印这两个值?

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

答案 1 :(得分:0)

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

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

答案 2 :(得分: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
));