当前位置: 首页 > news >正文

mongoose解析http字段值

最近在使用mongoose开发嵌入式web后端时,会遇到要解析js前端发送过来的http消息,比如传递用户名,密码过来,后端要解析出来并判断是否登录成功。
前端http有两种组装字段的方式。
第一种是 $.ajax({url: '/upgradePackage',method: 'POST',dataType: 'json',data: { devID: $('#curDevID').val(), type: $('#moduleName').val(), packageName: selectFile.name },success: function(json) {}});
这个时候,参数会用=和&拼接起来,mongoose解析要用char szUser[32] = {0};mg_http_get_var(&httpReq->body, "username", szUser, sizeof(szUser));这种方式。还有一种js前端采用json的格式发送,fetch('/login', { method: 'POST',headers: {'Content-Type': 'application/json',},body: JSON.stringify({ username, password })
})
.then(response => response.json())
.then(data => {console.log('data.result = ' + data.result);if (data.result === 0) {window.location.href = '/dashboard'; } else {alert('登录失败:用户名或密码错误!'); }
})
.catch(error => console.error('Error:', error));
这个时候mongoose的解析方式要换成
struct mg_str json = mg_str(httpReq->body.buf);char* szUser = mg_json_get_str(json, "$.username");printf("username=%s\n", szUser);

之前对前端不熟悉,用mongoose解析的时候,老是不能取得正确的值,网上给出的解析一会儿是方式一,一会儿是方式二,把人都绕晕了。只有搞清楚里面的逻辑,才能清晰认识到该干什么,对于不熟悉的领域,唯一能做的就是投入时间学习。

http://www.lryc.cn/news/574782.html

相关文章:

  • Spring Boot 的Banner的介绍和设置
  • 中科米堆3D扫描逆向建模方案:汽车轮毂三维扫描抄数建模
  • elk+filebeat收集springboot项目日志
  • iwebsec靶场-文件上传漏洞
  • 串口助手实例
  • lib61850 代码结构与系统架构深度分析
  • 鸿蒙OH南向开发 轻量系统内核(LiteOS-M)【异常调测】
  • 针对基于深度学习的侧信道分析(DLSCA)进行超参数的贝叶斯优化
  • vue 3 计算器
  • Nginx性能优化配置指南
  • 6.24_JAVA_微服务_Elasticsearch搜索
  • vscode + Jlink 一键调试stm32 单片机程序(windows系统版)
  • Git简介和常用命令
  • Windows安装Emscripten‌/emsdk(成功)
  • Python 数据分析与可视化 Day 6 - 可视化整合报告实战
  • Javaweb - 5 事件的绑定
  • 技术伦理之争:OpenAI陷抄袭风波,法院强制下架宣传视频
  • 自然语言处理入门
  • day041-web集群架构搭建
  • 软件设计模式选择、判断解析-1
  • 快速sincos算法,stm32测试
  • 用Rust写平衡三进制加法器
  • 【unitrix】 4.3 左移运算(<<)的实现(shl.rs)
  • 【WCF】单例模式的线程安全缓存管理器实现,给你的WebApi加入缓存吧
  • MyBatis Plus与P6Spy日志配置
  • leetcode230-二叉搜索树中第K小的元素
  • 【计算机网络】期末复习
  • 【教学类-89-08】20250624新年篇05——元宵节灯笼2CM黏贴边(倒置和正立数字 )
  • STM32学习笔记——中断控制
  • (C++)标准模板库(STL)相关介绍(C++教程)