我在http中使用以下函数来重定向到一些带有POST数据信息的url。我需要使用新网址附加uuid1,并使用uuid信息将用户重定向到新页面http://localhost:8080/my_new_page.html。
我能够看到POST数据的响应代码200,但它没有被重定向,当数据很大时,无法在我的新网址中加载样式表。
我无法找到非重定向网址的原因。请帮助。
<input type="button" value="Click here to go back" onclick=postdata1(uuid1,respData);>
function postdata1(uuid1,respData) {
var iframe = document.createElement("iframe");
var uniqueString = "respData";
document.body.appendChild(iframe);
iframe.style.display = "none";
iframe.contentWindow.name = uniqueString;
var form = document.createElement("form");
form.target = uniqueString;
form.action = 'http://localhost:8080/my_new_page.html?uuid='+uuid1;
form.method = "POST";
var input = document.createElement("input");
input.type = "hidden";
input.name = "RespData";
input.value = respData;
form.appendChild(input);
document.body.appendChild(form);
form.submit();
}
答案 0 :(得分:1)
你必须使用2个函数,一个用于构建HTML,另一个用于onclick 下面是代码片段。这应该对你有帮助。
<html>
<body>
<input type="button" value="Click here to go back" onclick=postdata1("Heell0o","Heell");>
</body>
<script>
function loadForm(){
var form = document.createElement("form");
//form.target = uniqueString;
form.name = "RespDataForm";
form.method = "POST";
var input = document.createElement("input");
input.type = "hidden";
input.name = "RespDataInput";
form.appendChild(input);
document.body.appendChild(form);
}
function postdata1(uuid1,respData) {
console.log(uuid1+respData);
var form1 = document.getElementsByName("RespDataForm")[0];
console.log(form1.name);
var input1 = document.getElementsByName("RespDataInput")[0];
input1.value = respData;
form1.action = 'http://www.google.com?uuid='+uuid1;
form1.submit();
return false;
}
loadForm();
</script>
</html>