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