利用Form替代ajax请求

在开发的时候,发现一段较为有趣的旧代码。在这段代码里,开发人员利用form表单,发起了post请求,并在新页面打开了这个请求。

在习惯了用ajax来进行交互,看到这种方式,有种眼前一亮的感觉。我一直以为没有办法在新的页面里打开post请求,但是通过这种方式,就能实现了。

我网上查一下form表单的基本信息

Form 对象属性
属性描述W3C
acceptCharset服务器可接受的字符集。Yes
action设置或返回表单的 action 属性。Yes
enctype设置或返回表单用来编码内容的 MIME 类型。Yes
length返回表单中的元素数目。Yes
method设置或返回将数据发送到服务器的 HTTP 方法。Yes
name设置或返回表单的名称。Yes
target设置或返回表单提交结果的 Frame 或 Window 名。Yes

这些对象属性,是可以通过js代码读取的。

Form 对象方法
方法描述W3C
reset()重置一个表单Yes
submit()提交一个表单Yes
代码实现步骤
  1. 创建form元素
let form= document.createElement('form')
  1. 设置form属性
form.action='http://api'
form.enctype='application/json'
form.method='post'
form.target='_blank'	
  1. 设置form表单数据
// 说明一下,form表单数据,就是里面的input元素
let inputName=document.createElement('input')
inputName.setAttribute('name','name')
inputName.setAttribute('value', 'zhangsan')
form.appendChild(inputName)
  1. 提交form
// form提交前,需要追加到页面里
document.body.appendChild(form)
form.submit()
// 执行完成后,从页面里清除
form.parentNode.removeChild(form)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值