发布在IIS的D3.js柱状图调用d3.csv报406错误求助
解决D3.js调用csv文件时的406 (Not Acceptable)错误
针对你在IIS上部署D3.js柱状图遇到的406错误,提供几个可行的解决方向:
配置IIS的CSV MIME类型
这是最常见的原因——IIS默认可能没有注册.csv文件的MIME类型,导致服务器无法正确识别并返回符合要求的内容:- 打开IIS管理器,定位到你的
D3JS站点 - 双击右侧功能视图里的「MIME类型」
- 点击右上角的「添加」,扩展名填
.csv,MIME类型输入text/csv(或application/csv) - 保存后重启站点,再测试请求
- 打开IIS管理器,定位到你的
手动指定D3请求的头信息
如果你怀疑是请求头不匹配,可以手动设置Accept头和MIME类型,修改代码如下:$(document).ready(function () { d3.request('http://localhost/D3JS/barchartCopy/Shipping.csv') .header('Accept', 'text/csv') .mimeType('text/csv') .get(function(response) { var data = d3.csvParse(response.responseText); render(data); }); });验证文件路径与权限
先直接在浏览器访问http://localhost/D3JS/barchartCopy/Shipping.csv,确认文件能正常访问:- 如果无法打开,检查文件是否存在于指定路径
- 确保IIS应用池对该文件拥有读取权限
补充说明:406错误的核心是服务器无法返回客户端Accept头要求的内容格式,所以优先确保服务器能正确识别CSV文件的MIME类型,这是解决这类问题的关键。
内容的提问来源于stack exchange,提问作者Ahm Sf
相关产品推荐
相关产品推荐

