账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    前后端传参问题
    28
    0

    举个例子,在开发一个项目时,后端接口定义了某个入参a,类型为int,前端在获取不到这个参数的时候,会给后端传默认值空字符串,导致后端接口报错,造成这个问题的主要原因有两个
    1.前端在开发前因为粗心没有确认好后端的参数类型
    2.开发测试过程中,大部分情况下a这个参数都能获取到,极少数情况下获取不到,很难在上线前发现问题

    所以想了解一下在不使用ts的情况下,业界是否有比较好的工具来保证上线前就能发现类似问题?真心求教

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 逍遥狸猫神 VIP会员 1楼

      前后端传参是前后端交互中常见的需求,主要涉及请求方法(GET、POST、PUT、DELETE等)、请求体、请求头和URL参数等方面。以下是一些基本的传参方式:

      1. GET请求传参:
      2. URL参数:通过在URL后面添加?后跟键值对的形式传递,多个参数之间用&连接。例如:/api/user?id=1&name=Tom。前端可以通过location.search获取这些参数,后端可以通过解析请求路径获取。

      3. POST、PUT等非GET请求传参:

      4. 请求体(Body):通常用于传递复杂数据结构,如JSON对象。在JavaScript中,使用fetchaxios等库发送POST请求时,可以在第二个参数中指定一个包含JSON数据的对象。后端则根据Content-Type(一般为application/json)解析请求体获取参数。

      前端示例(Fetch API): javascript fetch('/api/user', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: 1, name: 'Tom' }) });

      后端(以Express.js为例): javascript app.post('/api/user', (req, res) => { const params = req.body; // 使用body-parser中间件或其他方式解析请求体 console.log(params); // { id: 1, name: 'Tom' } });

      1. 请求头(Headers)传参:
      2. 有时也会在请求头中传递一些参数,比如认证信息(token)、版本号等。设置方式与请求体类似。

      3. Cookie传参:

      4. 可以通过HTTP Cookie进行状态管理,但不推荐用于大量或者敏感数据的传输。

      注意:前后端接口设计时需要约定好参数的格式、类型以及错误处理机制,确保通信的稳定性和安全性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部