实现一个简单的计算器,可以进行加减乘除运算(需要写出前端和服务器端的核心代码)。
时间: 2024-10-23 21:02:03 浏览: 16
为了实现一个简单的计算器应用,我们可以将其分为前端部分(用户界面)和后端部分(处理计算逻辑)。这里我会提供一个基于JavaScript(前端)和Node.js(后端)的基本示例。
**前端(HTML + JavaScript, 使用AJAX)**:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Simple Calculator</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<input type="text" id="result" readonly>
<br>
<button onclick="sendAjaxRequest('add')">+</button>
<button onclick="sendAjaxRequest('subtract')">-</button>
<button onclick="sendAjaxRequest('multiply')">*</button>
<button onclick="sendAjaxRequest('divide')">//</button>
<br>
<input type="number" id="num1" placeholder="Number 1">
<input type="number" id="num2" placeholder="Number 2">
<script>
function sendAjaxRequest(operation) {
const num1 = $('#num1').val();
const num2 = $('#num2').val();
$.ajax({
url: 'calculate.php',
method: 'POST',
data: { operation, num1, num2 },
success: function(response) {
$('#result').val(response);
}
});
}
</script>
</body>
</html>
```
**后端(Node.js + Express, 使用`express`处理请求)**:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/calculate.php', (req, res) => {
const operation = req.body.operation;
const num1 = parseFloat(req.body.num1);
const num2 = parseFloat(req.body.num2);
let result;
switch (operation) {
case 'add':
result = num1 + num2;
break;
case 'subtract':
result = num1 - num2;
break;
case 'multiply':
result = num1 * num2;
break;
case 'divide':
if (num2 !== 0) {
result = num1 / num2;
} else {
// 避免除数为零的情况
res.status(400).json({ error: "Can't divide by zero." });
return;
}
break;
default:
res.status(400).json({ error: "Invalid operation." });
return;
}
res.json({ result });
});
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`Server running on http://localhost:${port}`));
```
这个例子中,当用户点击按钮时,前端会通过AJAX向后端发送POST请求,包括操作类型、两个数字。后端根据接收到的操作类型执行相应的计算,并返回结果给前端显示。
阅读全文