js使用post请求下载文件
时间: 2024-03-12 19:36:48 浏览: 18
在 JavaScript 中,可以使用 XMLHttpRequest 对象来发送 POST 请求并下载文件。
以下是一个示例代码:
```javascript
function downloadFile(url, data) {
const xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.responseType = 'blob';
xhr.onload = function() {
if (xhr.status === 200) {
const blob = new Blob([xhr.response], { type: 'application/octet-stream' });
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = 'filename';
link.click();
}
};
xhr.send(JSON.stringify(data));
}
// Example usage
downloadFile('http://example.com/download', { id: 123 });
```
这个方法会发送一个 POST 请求到指定的 URL,以 JSON 格式发送数据。服务器应该返回一个二进制数据,可以在 `xhr.onload` 回调函数中处理。在这个示例中,我们会创建一个 Blob 对象并将其保存为文件。