使用jQuery发布屏幕宽度

时间:2010-01-16 13:33:19

标签: php javascript jquery .post

使用此代码

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

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

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

4 个答案:

答案 0 :(得分:3)

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

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

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

  • $ _ POST - $ _POST Superglobal表示发送给PHP的数据 脚本通过HTTP POST。这是 通常是一种形式的方法 POST。
  • $ _ SERVER - $ _SERVER Superglobal代表可用数据 从Web服务器到PHP脚本 本身(不是你想要的)
  • $ _ REQUEST - $ _REQUEST Superglobal是一个组合 $ _GET,$ _POST和$ _COOKIE(会 工作,但为什么搜索GET和COOKIE 当你知道这个值是在POST吗?)

答案 1 :(得分:3)

$_SERVER包含服务器变量,即操作系统,引荐来源URL,服务器上各种文件夹的路径等。

您要找的是$_POST数组,$_GET数组或$_REQUEST数组。我可能会在这里说明显而易见的事情,但这里包含了它们:

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

在您的情况下,您需要查看$_POST数组。运行一次总是很方便:

print_r($_POST);

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

答案 2 :(得分:1)

使用$_REQUEST['result']

  

$_SERVER是一个包含标题,路径和脚本位置等信息的数组。此阵列中的条目由Web服务器创建。无法保证每个Web服务器都能提供这些服务;服务器可能会省略某些服务器,或提供此处未列出的其他服务器。

     

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

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

答案 3 :(得分:1)

尝试做:

echo $_POST['result'];