背景:node本地测试ajax CMD窗报错:_http_outgoing.js:436       throw new Error('Header "%s" value must not be undef

解决方法:方法1、将服务器文件中的response.writeHead(200, {"Content-Type": mimeType});中mimeType改成具体文件类型,测试正常;
方法2、在readfile函数加 console.log(mimeType);语句,CMD窗口显示不能识别data.json文件,在var mimeTypes定义变量中添加"json":"text/json",问题解决。

服务器文件server.js如下:

var http = require("http"),url = require("url"),path = require("path"),fs = require("fs")port = process.argv[2] || 8888;var mimeTypes = {"htm": "text/html","html": "text/html","jpeg": "image/jpeg","jpg": "image/jpeg","png": "image/png","gif": "image/gif","js": "text/javascript","css": "text/css","json":"text/json"};var virtualDirectories = {//"images": "../images/"};http.createServer(function(request, response) {var uri = url.parse(request.url).pathname, filename = path.join(process.cwd(), uri), root = uri.split("/")[1], virtualDirectory;virtualDirectory = virtualDirectories[root];if(virtualDirectory){uri = uri.slice(root.length + 1, uri.length);filename = path.join(virtualDirectory ,uri);}fs.exists(filename, function(exists) {if(!exists) {response.writeHead(404, {"Content-Type": "text/plain"});response.write("404 Not Found\n");response.end();console.error('404: ' + filename);return;}if (fs.statSync(filename).isDirectory()) filename += '/index.html';fs.readFile(filename, "binary", function(err, file) {if(err) {        response.writeHead(500, {"Content-Type": "text/plain"});response.write(err + "\n");response.end();console.error('500: ' + filename);return;}var mimeType = mimeTypes[path.extname(filename).split(".")[1]];response.writeHead(200, {"Content-Type": mimeType});response.write(file, "binary");response.end();console.log('200: ' + filename + ' as ' + mimeType);// console.log(mimeType);});});
}).listen(parseInt(port, 10));console.log("Static file server running at\n  => http://localhost:" + port + "/\nCTRL + C to shutdown");

HTML代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Ajax</title><script type="text/javascript" src="jquery-1.12.4.min.js"></script><script type="text/javascript">$.ajax({url:'data.json',type:'get',dataType:'json',}).done(function(data){console.log(data);alert(data);}).error(function(){console.log('error');})</script>
</head>
<body>

node本地测试ajax CMD窗报错:_http_outgoing.js:436 throw new Error('Header %s value must not be undef相关推荐

  1. Error: spawn node.cmd ENOENT node自启动工具supervisor cmd运行报错解决方法

    最近开始重新入坑node,发现了一个有意思的node自启动工具:supervisor. 但是,由于某些原因当我在使用这个工具一直报错. 网上找了很多方法,试过重装node,也试过修改node环境变量, ...

  2. ajax jsonp请求报错not a function的解决方案

    ajax jsonp请求报错not a function的解决方案 参考文章: (1)ajax jsonp请求报错not a function的解决方案 (2)https://www.cnblogs. ...

  3. easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案

    easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案 参考文章: (1)easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0 ...

  4. vue-cli中mock本地json数据踩雷:报错404 (GET http://localhost:8080/goods 404 (Not Found) )

    标题vue-cli中mock本地json数据踩雷:报错404 运用vue的脚手架进行了项目的搭建,想要通过json文件模拟后台传输数据,结果一直报错:404,经过不断的查找资料和调试终于找到问题的所在 ...

  5. pycharm执行cmd命令报错‘nohup‘ �����ڲ����ⲿ���Ҳ���ǿ����еij������������ļ���

    pycharm执行cmd命令报错 'nohup' �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ��� 解决办法:

  6. python unittest执行程序在pycharm可以成功运行但使用cmd会报错:E列表 test_register (unittest.loader._FailedTest)

    python unittest执行程序在pycharm可以成功运行但使用cmd会报错 如题,在pycharm中执行主程序运行成功: 用例執行.debug日志均沒問題 在cmd执行主程序报错: 最惡心的 ...

  7. React移动端适配解决方案lib-flexible和postcss-px2rem、node.getIterator is not a function 报错使用postcss-pxtorem

    文章目录 React移动端适配解决方案lib-flexible和postcss-px2rem 第一步 第二步 第三步 第四步 第五步 问题分割线==================== 一.淘宝弹性布 ...

  8. 开发避坑3——大鸟 pk Bug(使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request ......))

    使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request -) 不管你是前端.后端.测试还是运维等工程师,学会使用postman测试接口是工 ...

  9. Qt5.x解决报错main.cpp:1:10: fatal error: QApplication: No such file or directory问题

    Qt5.x解决报错main.cpp:1:10: fatal error: QApplication: No such file or directory问题 问题描述 定位问题 解决方法 The en ...

最新文章

  1. 研究生论文“盲审”“查重”再加码!毕业或将变的更加困难
  2. python drop函数_用python帮财务小姐姐自动生成财务报表
  3. ugui unity 取消选择_UGUI中几种不规则按钮的实现方式
  4. android checkbox监听另一个checkbox选中和不选中_一个真正0基础小白学习前端开发的心路历程...
  5. 【电脑帮助】解决Wind10系统每次运行软件时都要出现提示框的问题
  6. linux mac time machine,用 Ubuntu 10.10 构建 Time Machine 备份服务器
  7. 数据库查询的table结果转成对应实体类
  8. JDBC基础篇(MYSQL)——自定义JDBCUtil工具类
  9. 关于作者(《蓝调口琴指南》名作拙译)
  10. DIV块中 元素垂直居中
  11. Java实现仿QQ登陆、好友界面(可连接数据库)
  12. SpringMVC从request到controller过程详解
  13. 互联网史上10大经典商战
  14. 计算机专业在哪个城市就业好,计算机专业在哪几个城市就业好点?
  15. 「Adobe国际认证」Adobe Photoshop,如何裁剪并拉直照片?
  16. 什么是主力的入资异常介入点?如何捕捉主力入资?
  17. Java Obiect类--------11
  18. 深度学习笔记-LeNet和AlexNet
  19. java获取每周的周一到周日时间节点
  20. BeanFactory和ApplicationContext接口的联系和区别

热门文章

  1. 解决plsql解决中文乱码问题
  2. AppUploader教程:如何注册账号并激活AppUploader
  3. 锰铜掺杂硫化镉CdS量子点|Mn掺杂到CdS量子点|Cu掺杂到CdS量子点其制备方法综述
  4. html头像转动,基于jquery实现人物头像跟随鼠标转动
  5. 【百度智能云】教程:连接百度ai开放平台api接口并完成语音识别的任务
  6. Android 10.0关闭selinux权限
  7. 男人品位分类及终极品位
  8. 重启Oracle服务
  9. python多大孩子可以学_少儿python教材适合多大的孩子
  10. 随机网络中通过Hebbian可塑性进行元学习(Meta-Learning through Hebbian Plasticity in Random Networks)