gpt4 book ai didi

javascript - 使用 native ajax 将 Javascript 函数输出分配给 PHP session 变量 [无需 JQuery 且无需用户操作(无点击)]

转载 作者:行者123 更新时间:2023-12-02 14:37:15 24 4
gpt4 key购买 nike

我的js知识几乎为零。

我想要

  1. 使用 js 在我的 index.php 中获取屏幕宽度(没问题)
  2. 使用ajax将js输出值分配给php session 变量(?!?)
  3. 将这些值添加到数据库中以实现 future 目标(没问题)

另外,

  • 我不想使用 jquery 库。 (我唯一的js用法是在这个点)
  • 我不想点击任何按钮。 (无访客操作)

我尝试过的如下。我创建了 2 个页面:index.phpdealviewportwidth.php

index.php将返回视口(viewport)宽度,也会完成ajax部分,我将通过$_GETdealviewportwidth.php中分配值.

失败, session 变量未设置。 index.php 中的 //allocateWidthToPHP 部分需要更正什么,以便设置 session 变量?

index.php(通过js返回宽度,处理ajax)

<script type="text/javascript">

function getViewportWidth()
{
var viewportwidth;

// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
if (typeof window.innerWidth != 'undefined')
{
viewportwidth = window.innerWidth
}

// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
else if (typeof document.documentElement != 'undefined'
&& typeof document.documentElement.clientWidth !=
'undefined' && document.documentElement.clientWidth != 0)
{
viewportwidth = document.documentElement.clientWidth
}

// older versions of IE
else
{
viewportwidth = document.getElementsByTagName('body')[0].clientWidth
}
return(viewportwidth);
}

// assignWidthToPHP
var xhttp = new XMLHttpRequest();
var width = getViewportWidth();
xhttp.open("GET", "http://localhost/dealviewportwidth.php?w="+width,false);
xhttp.send();

</script>

dealviewportwidth.php

<?php

session_start ();

$_SESSION["w"] = $_GET["w"];

var_dump($_SESSION["w"]);

?>

最佳答案

您的脚本正在我的计算机上运行,​​我刚刚更改了这一行:

xhttp.open("GET", "http://localhost/dealviewportwidth.php?w="+width,false);

xhttp.open("GET", "/dealviewportwidth.php?w="+width,false);

编写第三个脚本:

check.php

<?php

session_start();
echo $_SESSION["w"];

首先打开index.php,它会在后台调用dealviewportwidth.php然后打开 check.php 它应该显示您的数据。

如果您想直接从浏览器调用 dealviewportwidth.php,请测试是否设置了 w 参数:

<?php

session_start();
if (isset($_GET["w"]))
{
$_SESSION["w"] = $_GET["w"];
}
var_dump($_SESSION["w"]);

?>

关于javascript - 使用 native ajax 将 Javascript 函数输出分配给 PHP session 变量 [无需 JQuery 且无需用户操作(无点击)],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37349992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com