node本地测试ajax CMD窗报错:_http_outgoing.js:436 throw new Error('Header %s value must not be undef
背景: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相关推荐
- Error: spawn node.cmd ENOENT node自启动工具supervisor cmd运行报错解决方法
最近开始重新入坑node,发现了一个有意思的node自启动工具:supervisor. 但是,由于某些原因当我在使用这个工具一直报错. 网上找了很多方法,试过重装node,也试过修改node环境变量, ...
- ajax jsonp请求报错not a function的解决方案
ajax jsonp请求报错not a function的解决方案 参考文章: (1)ajax jsonp请求报错not a function的解决方案 (2)https://www.cnblogs. ...
- easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案
easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案 参考文章: (1)easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0 ...
- vue-cli中mock本地json数据踩雷:报错404 (GET http://localhost:8080/goods 404 (Not Found) )
标题vue-cli中mock本地json数据踩雷:报错404 运用vue的脚手架进行了项目的搭建,想要通过json文件模拟后台传输数据,结果一直报错:404,经过不断的查找资料和调试终于找到问题的所在 ...
- pycharm执行cmd命令报错‘nohup‘ �����ڲ����ⲿ���Ҳ���ǿ����еij������������ļ���
pycharm执行cmd命令报错 'nohup' �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ��� 解决办法:
- python unittest执行程序在pycharm可以成功运行但使用cmd会报错:E列表 test_register (unittest.loader._FailedTest)
python unittest执行程序在pycharm可以成功运行但使用cmd会报错 如题,在pycharm中执行主程序运行成功: 用例執行.debug日志均沒問題 在cmd执行主程序报错: 最惡心的 ...
- React移动端适配解决方案lib-flexible和postcss-px2rem、node.getIterator is not a function 报错使用postcss-pxtorem
文章目录 React移动端适配解决方案lib-flexible和postcss-px2rem 第一步 第二步 第三步 第四步 第五步 问题分割线==================== 一.淘宝弹性布 ...
- 开发避坑3——大鸟 pk Bug(使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request ......))
使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request -) 不管你是前端.后端.测试还是运维等工程师,学会使用postman测试接口是工 ...
- 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 ...
最新文章
- 研究生论文“盲审”“查重”再加码!毕业或将变的更加困难
- python drop函数_用python帮财务小姐姐自动生成财务报表
- ugui unity 取消选择_UGUI中几种不规则按钮的实现方式
- android checkbox监听另一个checkbox选中和不选中_一个真正0基础小白学习前端开发的心路历程...
- 【电脑帮助】解决Wind10系统每次运行软件时都要出现提示框的问题
- linux mac time machine,用 Ubuntu 10.10 构建 Time Machine 备份服务器
- 数据库查询的table结果转成对应实体类
- JDBC基础篇(MYSQL)——自定义JDBCUtil工具类
- 关于作者(《蓝调口琴指南》名作拙译)
- DIV块中 元素垂直居中
- Java实现仿QQ登陆、好友界面(可连接数据库)
- SpringMVC从request到controller过程详解
- 互联网史上10大经典商战
- 计算机专业在哪个城市就业好,计算机专业在哪几个城市就业好点?
- 「Adobe国际认证」Adobe Photoshop,如何裁剪并拉直照片?
- 什么是主力的入资异常介入点?如何捕捉主力入资?
- Java Obiect类--------11
- 深度学习笔记-LeNet和AlexNet
- java获取每周的周一到周日时间节点
- BeanFactory和ApplicationContext接口的联系和区别
热门文章
- 解决plsql解决中文乱码问题
- AppUploader教程:如何注册账号并激活AppUploader
- 锰铜掺杂硫化镉CdS量子点|Mn掺杂到CdS量子点|Cu掺杂到CdS量子点其制备方法综述
- html头像转动,基于jquery实现人物头像跟随鼠标转动
- 【百度智能云】教程:连接百度ai开放平台api接口并完成语音识别的任务
- Android 10.0关闭selinux权限
- 男人品位分类及终极品位
- 重启Oracle服务
- python多大孩子可以学_少儿python教材适合多大的孩子
- 随机网络中通过Hebbian可塑性进行元学习(Meta-Learning through Hebbian Plasticity in Random Networks)