# 公共API-数学表达式计算:mathematical-expression-JS篇
*公共 API*
通过 JavaScript 中调用公共后端API 的方式实现数学表达式解析!
## 目录
[TOC]

## 介绍
ME 数学表达式计算组件是一种针对数学公式解析的有效工具,其提供了 Java python 和 C++ 版本的API,如果我们要是希望在 JS 中调用这个库该怎么办呢?
其实我们可以直接使用后端接口来实现此功能,ME 数学表达式解析库已经集成到了网站计算服务中的公共API 中,您可以通过调用公共的 API 接口并按照适当的方式传递参数实现 JS 中调用 数学表达式的需求,接下来就是相关的处理。
### 调用示例
您可以在这里通过 axios 等框架来实现访问后端接口,在这里我们提供了一个调用示例,下面就是具体的例子。
```html
<!-- 请将此处 的 axios 替换为您的 js 文件路径 -->
<script rel="script" type="text/javascript" src="js/lib/axios.min.js"></script>
<script>
axios(
{
// 在这里指定计算接口,请确保链接不要输错
url: "http://lsc.lingyuzhao.top/LS-WebBackEnd/API/Mathematical_Expression_Run",
params: {
// 设置需要计算的数学表达式 表达式中的空格可以不规范 且支持嵌套括号计算
f: "1+2+(2 *(1 - 2))",
// 设置您要使用的计算模式 如果设置为 true 返回的是一个 mermaid 图代码,代表的就是计算流程,如果设置为 false 返回的是一个 json 结果
"explain": false
}
}
).then(
(res) => {
console.info(res.data)
}
)
</script>
```
下面就是打印结果,在这里可以看到打印出的 json 对象,以及每个参数的解释。
| 参数名称 | 参数解释 |
|:-----------------------:|:------------------------------------------------:|
| url | 项目的开源仓库地址 |
| f | 计算操作进行时使用的数学表达式 |
| calculationSourceName | 计算时使用的计算组件的型号/名称 |
| result | 计算结果,是数值类型 |
| RES | 计算结果,如果计算操作没有出现错误,此数值为 `ok!!!!` 如果出现错误则返回错误信息。 |
```
{
"url": "https://github.com/BeardedManZhao/mathematical-expression-JS.git",
"f": "1+2+(2 *(1 - 2))",
"calculationSourceName": "bracketsCalculation2",
"result": 1,
"RES": "ok!!!!"
}
```
### 在线调试
您可以在 [数学表达式 API 工具](toolsPage/MeTool.html "《数学表达式 API 工具》") 中去在线调用此框架!!!
## 在其它编程语言中调用 ME 组件库的 API
[《mathematical-expression 实现 数学表达式解析 C++ 篇》](http://www.lingyuzhao.top/?/linkController=/articleController&link=22700148 "《mathematical-expression 实现 数学表达式解析 C++ 篇》")
[《mathematical-expression 实现 数学表达式解析 Java 篇》](http://www.lingyuzhao.top/?/linkController=/articleController&link=94267819 "《mathematical-expression 实现 数学表达式解析 Java 篇》")
------
***操作记录***
作者:[root](https://www.lingyuzhao.top//index.html?search=1 "root")
操作时间:2024-05-26 09:00:21 星期日
事件描述备注:保存/发布
中国 天津
[](如果不需要此记录可以手动删除,每次保存都会自动的追加记录)