我在这个论坛的某处读到我可以使用这样的javascript创建表单:
<a href="#" onclick="postLogin()">Log me into this website</a>
<script type="text/javascript">
function postLogin() {
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", "index2.html");
var params = {checktype: 'uid', user: 'adam', password: 'pass1234', profile: 'dart', defaultdb: 'kts'};
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
</script>
在此表单中,它使用POST方法并将导航到index2.html
。在我的index2.html
中,我需要这些参数,例如checktype
,user
,password
来继续处理某些内容。如何在index2.html
中阅读这些参数。我已经尝试过类似的东西:
<script>
var query = window.location.search;
.....
</script>
在我的index2.html
中,但返回query
没有显示任何内容。我认为这是因为在POST方法中,url中没有参数,因此我无法使用window.location.search
读取它们。任何人都可以知道我如何阅读使用POST方法发送的参数?
答案 0 :(得分:0)
如果要开发动态Web应用程序,则应使用服务器端语言(以生成html)。基本上是的,您可以使用javascript访问查询参数。
您可以在index2.html中定义一个函数:
function getQueryParam ( name , queryString ) {
var match = RegExp( name + '=([^&]*)' ).exec( queryString || location.search );
return match && decodeURIComponent( match[ 1 ] );
}
再次在index2.html中使用此函数访问所需的参数(例如参数&#39; checkType&#39;):
getQueryParam('checkType')
当然这些应该在&#39;脚本&#39;标签
答案 1 :(得分:0)
你不能。
浏览器无法向客户端JavaScript提供请求正文中的数据。
您可以使用服务器端代码只读 。