【问题标题】:need to pass variable from javascript to php without refreshing or submitting需要将变量从 javascript 传递给 php 而无需刷新或提交
【发布时间】:2015-06-10 14:06:51
【问题描述】:

我需要访客的屏幕尺寸。所以我使用这个 javascript。

<script>
var screenWidth = window.screen.width,
    screenHeight = window.screen.height;
	
	alert (screenWidth);
	
</script>
<?php
   $value = $_POST['val'];
   echo "I got your value! $value";
?>

现在,我需要在 php 代码中传递这个值,无需刷新页面,我也不想点击提交按钮

【问题讨论】:

标签: javascript php jquery html variables


【解决方案1】:

高级: 浏览器向服务器发送请求,然后服务器响应一些东西(在这种情况下是动态生成的 html),然后浏览器解析这个 html 并生成 DOM。然后,您可以在此时使用 javascript 针对 DOM 编写脚本。

通常当您在浏览器中使用 javascript 编写脚本时,您不能在不发出新请求的情况下将值传递给 PHP。

至少有两个选项可以提出该请求:

  1. 如果您只想在不刷新页面的情况下将数据发送到服务器,那么您正在寻找 AJAX。然后,您必须对该响应执行一些操作,例如将其转储到 DOM 中。您必须在每次重新加载页面时执行此操作。

  2. 您的情况的另一个选择:因为您可能希望根据用户屏幕提供不同的 html,因为在多个请求中您可以使用 javascript 设置 cookie。然后每个后续请求都将包含您可以使用 PHP 读取的 cookie。在这里写下这项技术的好文章:https://css-tricks.com/server-side-mustard-cut/

【讨论】:

  • 3.将其发布到不可见的 iframe。不需要 ajax 和 cookie。
  • 这仍然是一个单独的请求。从根本上说,当您在浏览器中运行 javascript 时,您的 php 脚本已经完成并关闭。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 2012-11-17
相关资源
最近更新 更多