如何从javascript到php获取价值

时间:2013-06-21 17:30:42

标签: php javascript ajax

我正在使用以下代码来获取屏幕分辨率。

这适用于WAMP服务器但是当我把它放在远程Linux服务器上时,$height会返回0

HTML / PHP

<head>
    ....

    <script language="javascript">
        var y=window.screen.availHeight;
        var x=window.screen.availWidth;
        window.location.href = "index.php?height=" + y + "&width=" + x;
        break;

</head>
<?php
    $height=$_GET['height'];
    $height=intval($height);
    echo($height);
?>

3 个答案:

答案 0 :(得分:1)

PHP是服务器端。它会从您的浏览器接收请求并呈现HTML / CSS / Javascript输出,然后再将其发送回您的浏览器。因此,有关您的浏览器大小或屏幕大小的任何信息都需要作为某种请求发送到服务器,无论是在您第一次打开页面时,还是在您加载页面之后。在加载页面后向服务器发送请求称为AJAX,这很可能是你必须要做的。

http://w3schools.com/ajax/default.asp

答案 1 :(得分:1)

你可能想解释一下你要对这个网页做什么,给出一个将高度传递给php的整体解释,因为这个页面根本不起作用。 这是此网页发生的执行流程。

  1. 用户在地址栏中输入index.php。
  2. PHP Server处理请求。
  3. $ _GET数组不包含高度参数。
  4. $ height不包含任何值。
  5. 当$ height为空时调用intval($ height)将返回0.
  6. 页面将加载,将显示0。
  7. 执行JavaScript。
  8. 将使用高度和宽度参数构建URL。
  9. 浏览器将抛出错误:Uncaught SyntaxError:Illegal break statement
  10. 执行结束。

答案 2 :(得分:0)

您可以通过AJAX执行此操作,但您需要将数据发送到其他PHP文件并在那里进行处理(这应该可以正常工作,因为PHP是在服务器而不是您的计算机上处​​理的。

AJAX的工作原理如下:

  • 在javascript / jQuery中,将一些值放入变量
  • 创建一个AJAX代码块(我建议首先使用$.ajax()结构)
  • 在AJAX代码块中,将var-value对发送到PHP文件
  • PHP文件接收变量值,并使用它执行某些操作
  • PHP可以返回一些数据(通常是一串HTML,如表等)
  • 来自PHP的数据在AJAX代码块的SUCCESS函数中接收
  • 在SUCCESS内部,您可以将收到的代码注入DOM

以下是几个例子(它实际上比听起来更容易/乍一看更容易):

Sending value of dropdown to PHP page

Another basic AJAX example