【问题标题】:save jscript integer as a php integer [duplicate]将 jscript 整数保存为 php 整数 [重复]
【发布时间】:2014-10-01 17:50:21
【问题描述】:

我正在尝试获取浏览器的宽度,然后将其作为 php 变量进行比较,但它会将其保存为字符串,我尝试将其解析为另一个变量但它只返回 0。

$tam='<script>var j= $(window).width(); document.write(j)</script>';

我正在做这样的解析:

$ntam=(int) $tam;

【问题讨论】:

  • 你知道PHP代码是在服务器上执行的,而Javascript是在客户端(浏览器)上执行的吗?在这里,PHP 中的 $tam 将始终是一个字符串。不多也不少。
  • 所以没有办法解析变量?

标签: javascript php jquery parsing casting


【解决方案1】:

您不能将 javascript 值直接保存到 php 变量中。但是你可以....将 php 值放入一个 javascript 变量中,并使用它来使用 javascript 进行更改。

<?php  echo '<script type="text/javascript">var jVar = "$phpVar";'; ?>

如果您从 js 文件导入脚本,您需要在导入或课程之前添加它。

我不确定您要完成什么,但如果您需要一个 js 值,您可以随时使用 ajax 请求发送该值...

var ajax = new XMLHttpRequest();
var form  = new FormData();
form.append('win_size',window.innerWidth);
ajax.open("http://example.com/processJSWindowSize.php","POST",true);
ajax.send(form);

在服务器端代码,在这个例子中是 processJSWindowSize.php,你可以有一些类似的东西

<?php 
    if($_SERVER['REQUEST_METHOD'] == 'POST'){ 
        $jsWindowSize = strip_tags(stripslashes($_POST['win_size']));
        //do what you need with the window size

    } 
?>

【讨论】:

    【解决方案2】:

    您的脚本需要返回宽度并且它需要是一个函数

          <script>
            var tam= function()
                {
                  var j= $(window).width(); 
                  document.write(j)
                  return $(window).width();
                }
           var ntam = tam;
          </script>
    

    【讨论】:

    • 抱歉所有的编辑。我一直在丢失东西
    • 即使忽略php是服务器端和js客户端的问题,你的代码也不会有意义。
    • 好的,是的,我修改了代码让它看起来像一个函数,问题是,ntam应该是一个php int变量,可以吗?
    猜你喜欢
    • 1970-01-01
    • 2013-01-12
    • 2015-04-29
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    相关资源
    最近更新 更多