表单中像数据库传null和“”一样吗?

表单中有一个非必填的input,假如不写,得到的值是null,用不用判断是否为null然后设成“”,传到数据库中呢?

阅读 4.9k
4 个回答

理论上来说,从前端往后传的参数不可能有 NULL,用 jQuery.param 试下

$.param({
    a: null,
    b: "",
    c: {}.undefined
});

// a=&b=&c=

如果你是前端控件,那至少都是 "",不会是 null,像 radio 这种,如果没有选中,其值直接不往后台传,也不存在传 null 的情况。

如果你是用的 UI 库,得到的值是 nullundefined,用 jQuery 处理的话,肯定也是得到的 "" 往后传。

后端什么语言?什么数据库?

看你数据库怎么设计咯,该字段可以存null就存null,不行再转

如果表单中有input并且为空,后端得到的值是空串。如果表单中没有的值后端去读,那么后端会得到null。

而写数据库的时候又是另外一回事。很大可能在这个过程中null会隐式转换成string空串。这跟你的数据库和后端语言有关系。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题