FormData请求body设置utf-8
时间: 2024-01-19 22:45:20 浏览: 27
要让FormData请求body设置为utf-8编码,可以使用以下代码:
```javascript
const formData = new FormData();
formData.append('username', '张三');
formData.append('age', '20');
const request = new XMLHttpRequest();
request.open('POST', '/api/user');
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
request.send(formData);
```
在设置请求头时,需要将Content-Type设置为`application/x-www-form-urlencoded; charset=utf-8`,这样就能保证请求体以utf-8编码发送。
相关问题
formdata设置contenttype为application/json; charset=UTF-8
`FormData` 对象用于构建 `multipart/form-data` 格式的请求体,而不是 `application/json` 格式的请求体。因此,如果你需要发送 `application/json` 格式的请求体,应该使用 `XMLHttpRequest` 对象来手动构造请求。
具体的步骤如下:
1. 创建一个 `XMLHttpRequest` 对象:`var xhr = new XMLHttpRequest();`
2. 设置请求方法和请求地址:`xhr.open('POST', '/api/some_api');`
3. 设置请求头部:`xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');`
4. 构造请求体:`var requestBody = JSON.stringify({ username: '张三', age: 18 });`
5. 发送请求:`xhr.send(requestBody);`
这样就可以发送一个 `application/json` 格式的 POST 请求了。需要注意的是,如果需要使用 `FormData` 对象上传文件等二进制数据,则应该使用 `multipart/form-data` 格式。
PHP环境已经搭建好了,现在做一个HTML 页面,页面编码是UTF-8,页面中有一张图片和一个按钮,图片大小是200px,图片路径为images中的tianjia.png,点击图片可以选择本地图片、按钮和图片同时存在,点击按钮,把图片存储到taskimg目录
您可以按照以下步骤创建一个包含图片和按钮的HTML页面,并在点击按钮时将图片保存到指定目录:
1. 创建一个新的HTML文件,比如 `index.html`,并确保文件编码设置为UTF-8。
2. 在HTML文件中添加以下代码来创建图片和按钮:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<img src="images/tianjia.png" alt="图片" width="200px">
<br>
<input type="file" id="imageUpload" accept="image/*">
<button onclick="saveImage()">保存图片</button>
<script>
function saveImage() {
var imageInput = document.getElementById('imageUpload');
var file = imageInput.files[0];
var formData = new FormData();
formData.append('image', file);
// 发送POST请求将图片保存到服务器
var request = new XMLHttpRequest();
request.open('POST', 'save_image.php');
request.send(formData);
}
</script>
</body>
</html>
```
3. 将该HTML文件与 `tianjia.png` 图片放在同一个目录下。
4. 创建一个名为 `save_image.php` 的PHP文件来处理保存图片的逻辑。在 `save_image.php` 文件中添加以下代码:
```php
<?php
if ($_FILES["image"]["error"] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["image"]["tmp_name"];
$name = $_FILES["image"]["name"];
move_uploaded_file($tmp_name, "taskimg/" . $name);
}
?>
```
5. 确保 `taskimg` 目录存在,并具有写入权限。
现在,当您在HTML页面中选择本地图片并点击按钮时,选择的图片将会被上传并保存到 `taskimg` 目录中。