【有意思的BUG】默认置灰的属性的值传递

数据由Client发送给Server,如下图所示,Server在收到请求后会响应Client。

比如Client发送给Server一组数据:Name:sean&Hobby:movies&City:Peking&Country:China

有如下表单:

可以看到"China"是默认置灰的属性的值,不允许手动输入,所以用户只需要填写"Name"、"Hobby"、"City"这三项,然后点击最下面的"保存"按钮。

那么BUG就出来了,当Client把这组数据(Name:sean&Hobby:movies&City:Peking&Country:China)发送给Server,这个时候Server返回给Client的不是HTTP200OK,而是HTTP500。

为什么呢?

因为服务器接收到的数据是Name:sean&Hobby:movies&City:Peking&Country:' ',也就是说默认置灰的属性的值(写死的缺省值China)没有发送给Server。于是Server认为接收到的数据不完整,所以告诉Client出现错误了。

总之,当遇到表单内有缺省值的场景,需要稍微留意一下。

在产品迭代的过程中,可能版本1.0不涉及默认置灰的属性(理解为:Name、Hobby、City、Country的值都支持手动输入),然而版本2.0却置灰了某1个属性的值(产品设计总在变嘛,为了交互,为了易用等等等等),这个时候就有可能出现了本文内提到的这个BUG。

原文地址:https://www.cnblogs.com/musicmovie/p/3953291.html