jQuery获取发布数据

时间:2010-07-15 15:44:17

标签: javascript jquery

有没有办法在jQuery中获取POST值?

7 个答案:

答案 0 :(得分:15)

jQuery用于客户端Javascript。您使用服务器端语言获取POST值。您可以通过将服务器端与客户端混合来提供它们:

<script>
(function() {
 var x = "<?php echo ( isset( $_POST['name'] ) && $_POST['name'] != '') ? $_POST['name'] : '';?>";
})();
</script>

答案 1 :(得分:6)

$("form").serializeArray();

参考http://api.jquery.com/serializeArray/

答案 2 :(得分:2)

不,你可以使用你的后端在页面上写一些隐藏的字段,或者用数据写出一个javascript脚本标签。

答案 3 :(得分:1)

如果您使用AJAX方法发布,您可以在通过AJAX发布之前发回值或捕获它们。

答案 4 :(得分:1)

在表单元素http://api.jquery.com/serializeArray/上使用serializeArray。

答案 5 :(得分:0)

要从其他网页收听POST值吗?不是我所知道的。但是,您可以通过ajax将POST请求提交到服务器端脚本,并让服务器端脚本返回以前的POST值(例如,如果将它们存储在用户的会话中)。

答案 6 :(得分:0)

POST数据在请求正文中发送,通常采用application / x-www-form-urlencoded格式。

这里的最后一行是你想要的:

POST /path/script.cgi HTTP/1.0
From: office@otb.expert
User-Agent: HTTPTool/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 36

email=office@otb.expert&user+name=we

您可以从PHP访问请求正文$ _POST。如果正文不符合您的预期格式,您可以尝试:

$postdata = file_get_contents("php://input"); $_POST = json_decode($postdata);

从服务器端,您可以在javascript中注入所需的内容:

<script>
  var x = "<?php echo ( isset( $_POST['email'] ) ) ? $_POST['email'] : 'we@otb.expert';?>";
</script>

如果您仍然需要将数据从一个页面传输到另一个.html页面并避免使用.php文件,则需要在重定向到下一页之前保存数据,而不是通过读取相同的存储来恢复数据。 / p>

因此,使用您的数据库在页面中导航时保持应用程序状态。