使用此代码

var sw = window.screen.width;
$.post("http://www.example.com/track.php", {result: sw
}, "html");

和 $_SERVER['结果'];在服务器中,我试图获取屏幕宽度,但它不起作用。是“结果”出了问题。我是 Javascript 和 jQuery 的新手...

http://api.jquery.com/jQuery.post/

有帮助吗?

解决方案

$_SERVER 包含服务器变量,即操作系统、引用 URL、服务器上各个文件夹的路径等内容。

您正在寻找的是 $_POST 数组,即 $_GET 数组,或者 $_REQUEST 大批。我可能在这里陈述了显而易见的事情,但它们包含以下内容:

  • $_POST 包含发布到脚本的所有变量的列表。
  • $_GET 包含查询字符串中所有变量的列表(例如: someScript.php?x=1&y=2)
  • $_REQUEST 包含合并 $_POST, $_GET$_COOKIE (通常按该顺序)。我不建议使用这个:你应该 知道 您用来将变量放入脚本并专门使用该数组的方法。

对于您的情况,您需要查看 $_POST 大批。运行一次总是很方便:

print_r($_POST);

这将向您显示发布到该页面的所有内容。

其他提示

jQuery $.post 函数向服务器发送一个 post 请求,这意味着要访问“result”的值,您需要从 $_POST 超全局中获取它。

尝试 $_POST['result'] 而不是 $_SERVER['result']。

这些描述可能会有所帮助(来源: http://www.nusphere.com/php/php_superglobals.htm):

  • $_POST- $ _POST SUPERGLOBAL代表通过HTTP Post发送到PHP脚本的数据。这通常是一种具有帖子方法的形式。
  • $_SERVER- $ _Server SuperGlobal表示Web服务器本身可用于PHP脚本的数据(不是您要寻找的内容)
  • $_请求- $ _request Superplobal是$ _get,$ _post和$ _cookie的组合(但是,当您知道该值在帖子中时,为什么要搜索和cookie?)

尝试这样做:

echo $_POST['result'];

使用$_REQUEST['result']

  

$_SERVER 是含阵列的信息,如标题,路径和脚本的位置。此数组中的条目由Web服务器创建。谁也不能保证每一个Web服务器将提供所有的信息;服务器可以省略一些或提供其他此处未列出的。

     

$_REQUEST 是一个关联数组,默认情况下包含$_GET$_POST$_COOKIE的内容。

正确的方法是使用$_POST['result'],由其他人在这里所建议的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top