JavaScript 中的 GET 请求参数乱码问题通常是由于字符编码不一致导致的。以下是关于这个问题的基础概念、原因、解决方案以及一些相关的应用场景。
确保客户端和服务器端使用相同的字符编码,通常推荐使用 UTF-8。
在发送 GET 请求之前,对参数进行 URL 编码。
示例代码:
// 使用 JavaScript 的 encodeURIComponent 函数对参数进行编码
const param = "中文";
const encodedParam = encodeURIComponent(param);
// 构建完整的 URL
const url = `https://example.com/api?param=${encodedParam}`;
// 发送 GET 请求
fetch(url)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
确保服务器端正确解码 URL 参数。
示例(Node.js):
const express = require('express');
const app = express();
app.get('/api', (req, res) => {
const param = decodeURIComponent(req.query.param);
console.log(param); // 输出: 中文
res.send({ message: 'Success' });
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
通过确保字符编码一致并对参数进行 URL 编码,可以有效避免 GET 请求参数乱码的问题。在实际开发中,建议始终使用 UTF-8 编码,并在发送请求前对参数进行编码处理。
没有搜到相关的文章