如何通过javascript检索获取或发布?而不是PHP。
有可能吗?
答案 0 :(得分:3)
显然你无法使用javascript读取POST数据,因为数据在HTTP请求正文中被POST,只有服务器端脚本能够读取它。就GET数据而言,您可以使用this function来解析当前页面的查询字符串:
function gup(name) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec(window.location.href);
if(results == null) {
return "";
}
return results[1];
}
并使用如下:
var username = gup('username');
答案 1 :(得分:3)
要从网址中提取查询字符串的值,您可能需要在另一个Stack Overflow帖子中查看this solution @CMS。
但是,JavaScript无法访问其所服务的HTTP请求。一种可能的选择是从服务器端脚本呈现JavaScript代码,以便将所有/一些POST值传递给JavaScript。使用php的非常基本的例子:
<script type="text/javascript>
var postValue = '<?php echo $_POST["name"]; ?>';
</script>
除了上述内容之外,您还可以使用这样的json_encode
函数将所有POST数据序列化为JavaScript对象(哈希表):
<script type="text/javascript>
var postData = <?php echo json_encode($_POST); ?>;
</script>
然后在JavaScript中,您应该能够访问所有POST数据,如下所示:
alert(postData["name"]); // displays the value of name
答案 2 :(得分:2)
如果您使用GET,那么Javascript可以读取使用window.location.search传递的值。
有关如何操作的详情,请参阅http://javascript.about.com/library/blqs1.htm。
如果您使用POST
,则Javascript无权访问答案 3 :(得分:1)
Javascript适用于客户端计算机。 POST从客户端计算机发送到服务器。
因此,您只剩下查询字符串。