相信大家都是用过type=image来作为表单的图片按钮,表面上 type=image和type=submit都可以相应回车,并且都能提交。不过唯一的区别就是type=image的input提交方式会把按钮点击的位置坐标x,y提交过去。对于通常的表单应用来说,这样多一两个参数并没有问题,因为我们在接收端中都是按照指定的名称来处理参数,所以即使多了两个参数也不会有任何问题。
但是在做支付接口的时候(例如:支付宝接口)你就会发现,多出两个隐藏参数会带来很麻烦的问题,因为在在提交表单之后,接收端会对参数名称进行MD5校验,想想多两个参数会带来什么问题。将会直接导致表单校验不通过,然后支付失败的问题。
所以在在通常网站开发中不提倡使用type=image作为表单的提交按钮。

本文对比了type=image与type=submit两种表单提交方式的区别,重点指出type=image会额外提交坐标参数,这在如支付宝等支付接口场景下会导致MD5校验失败,从而引发支付失败等问题。
779

被折叠的 条评论
为什么被折叠?



