之前是用jQuery的post()
方法实现向服务器POST数据.
现在新需求需要呈现服务器返回的HTML页面.这个呈现是类似于普通form提交后跳转的过程.
解释:
使用表单进行POST的方法
<form method="post" action="/B">
<input type="hidden" name="foo" value="bar">
<button type='submit'>
</form>
点击Submit 就可以向"/B"POST数据并跳转到B页面
Ajax方法
$.post("/B",{"foo":"bar"})
这种方法能够POST自定义数据但是不能够跳转到B页面
现在的需求:
用JavaScript 控制POST的数据内容并跳转到B页面,类似ExtJS的standardSubmit功能
需求决定我们不能在页面上使用form来提交数据.因为提交的数据是页面上几个Div的全部HTML内容(实际上是富文本编辑器).使用jQuery的.html()
方法取得这些HTML内容.
现在想到的思路是使用jQuery 在内存中建立一个form对象,然后调用这个对象的submit方法
form = $("
<form method='post' action='foo'></form>
")
str = $("#bar").html()
input = $("<input type='text'>").val(str).attr('name','bar')
form.append(input)
//....继续添加字段
form.submit()
上面这种方法虽然能用,但是感觉很丑,有没有更好的方法?
扩展:
调用: