如何在网页中POST任意内容并跳转


之前是用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()

上面这种方法虽然能用,但是感觉很丑,有没有更好的方法?

web前端开发 HTML Ajax JavaScript

新世界的卡米 10 years, 8 months ago

.....你们确定看过 jQuery.post 的手册了么


 $.post(url, {bar: $('#bar').html(), any: $('#any').html()}, function(response) {});

第二个参数就是发送的数据啊,可以直接用对象发送的好么....

纯纯的小铁牛 answered 10 years, 8 months ago

Your Answer