同事遇到一个问题,在不修改服务器配置的前提下,想要把所有的get请求转为post请求。一直觉得post请求后返回的不就是一段数据嘛,怎么返回一个html页面呢?
通过搜索,找了一个解决方法,使用jQuery 在内存中建立一个form对象,然后调用这个对象的submit方法。
用JavaScript控制POST的数据内容并跳转到B页面,需求决定我们不能在页面上使用form来提交数据。因为提交的数据是页面上几个Div的全部HTML内容(实际上是富文本编辑器),使用jQuery的html()方法取得这些HTML内容。
现在想到的思路是使用jQuery 在内存中建立一个form对象,然后调用这个对象的submit方法var form = $("
"),input;form.attr({"action":url});
input = $("");
input.attr({"name":key});
input.val(value);
form.append(input);
form.submit();
上面这种方法虽然能用,但是感觉很丑,有没有更好的方法?
另外小编还在网上找到了一个更方便一点的方法,直接贴代码了:
$.post(url,{
method:"regist",
userName:$nameEle.val(),
email:$emailEle.val(),
password:$passwordEle.val()
},
function(data) {
//注册成功页面跳转,
var fm=document.getElementById("fm");
fm.submit();
}
);
以上就是关于“使用POST请求跳转页面以及Ajax的POST请求实现页面跳转”的全部内容了,其实关于这个问题网上搜了一下资料,差不多都是用window.location.href来处理,但是在请求页面的地址栏中会暴露请求的参数,这是不安全的。如果你看到了这个问题,并且有更好的方法,请告知我呦,多谢~~