我试图通过jquery ajax在php代码中获取客户端视口大小,但是出了点问题:
index.php
<body>
<script>
var h = $(window).height() - 83;
alert (h); // works
$.ajax({
type: "POST",
url: 'pass.php', // I also tried index.php directly
data: {h : h}
});
</script>
<?php
include ("pass.php");
$h = $_POST['h'];
echo $h; // doesn't work
?>
index.php中没有回音。
答案 0 :(得分:2)
您要将数据发布到pass.php
但包含pass.php
不会向您提供发送到此文件的数据。
您必须单独考虑pass.php
。
从此文件中执行回显并获取可添加到jQuery
代码的输出(.ajax()
之后):
.done(data) {alert(data);}
答案 1 :(得分:2)
<强>的index.php 强>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>
$(document).ready(function(){
var h = $(window).height() - 83;
//alert (h); // works
$.ajax({
type: "POST",
url: 'pass.php', // I also tried index.php directly
data: {h : h},
success:(function(data){
alert(data);
})
});
});
</script>
和pass.php
$h = $_POST['h'];
echo $h;
它给了我输出。 :)
答案 2 :(得分:1)
似乎你包含了pass.php,但这是调用的url,因此你的代码必须在pass.php中 添加它以查看您的请求是否已发送
<script>
var h = $(window).height() - 83;
alert (h); // works
$.ajax({
type: "POST",
url: 'pass.php', // I also tried index.php directly
data: {h : h},
success : function(data, status){
console.log("success");
console.log(data);
console.log(status);
},
error : function(data, status, error){
console.log("error");
console.log(data);
}
});
</script>