jquery ajax将js变量传递给php

时间:2014-07-19 12:34:29

标签: php jquery ajax

我试图通过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中没有回音。

3 个答案:

答案 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>