我将带有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)而不传递另一个值。如何通过他们两个?谢谢!
答案 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
));