我应该使用表单将REST数据提交给REST API

时间:2016-06-21 04:27:16

标签: javascript html json forms reactjs

是否批准使用html表单构建接口以收集用户数据,将其转换为前端的域模型并使用JSON将其发送到服务器?

我喜欢将用户输入部分视为逻辑形式,事件虽然服务器需要JSON。对于用户来说它是完全相同的,那么为什么不只是使用表单来收集数据并实现自定义的onSubmit方法呢?另一种选择是使用分离的输入字段和按钮。

这被认为是使用JSON POST表单的好习惯,这种做法有什么好处和坏处?

3 个答案:

答案 0 :(得分:1)

以下是我的想法:

<强>优点:

  1. 您可以重复使用Web服务来执行表单验证以及充当独立服务。在实施这种非标准方法之前,请确保您确实有此需求。
  2. <强>缺点:

    1. 您正在远离标准表单/帖子模型,这是HTML的基本功能已有好几年了。
    2. 您的用户将被迫使用JavaScript - 在2016年这不是一件大事,但您正在失去可获得性......获得了什么收益?
    3. 您必须为多个浏览器管理此要求(增加潜在的复杂性)。
    4. 根据您的实施情况,页面加载等级可能会更慢。这可能会影响SEO和用户体验。
    5. 我看到更多的专业人士,但也许你的情况真的证明了这一点?

答案 1 :(得分:1)

<form>内对输入和提交按钮进行分组是一种语义和良好做法,只需要在传递给preventDefault处理程序的事件上调用onSubmit,以防止提交硬表单。您的API应该说JSON,将表单值保存到状态值为onBlur / onChange,并使用jQuery或其他一些lib来创建JSON帖子是微不足道的。虽然它不是完全必要的,但我不能想到缺点。 &#34;没有javascript&#34;的回退对于大多数用例,现在的情况都不现实。

答案 2 :(得分:1)

我认为这是一个糟糕的方法。

在客户端,做客户端逻辑,ui逻辑等... 在服务器端进行处理。

在许多API中你也需要凭证/令牌......你确定要分享那些关于cliend脚本的内容(:??