问:按照课程中的说明使用代码,我收到一条错误消息“永久移动”。还有其他人收到此错误吗?
以下代码
//路由器页面
var Profile = require (“ ./profile.js” );
var renderer = require (“ ./renderer.js” );
var querystring = require (“ querystring” );
var contentType = { 'Content-Type' :'text / html' }; //处理HTTP GET路线和/ POST / IE主页功能的家(请求,响应){ //如果URL == “/” && GET如果(请求。
URL === “/” ) {
如果(请求。方法。toLowerCase ()=== “获取” ){ //节目搜索响应。writeHead (200 ,contentType ); 渲染器。view (“ header” ,{},response ); 渲染器。查看(“搜索” ,{},响应);渲染器。视图(“页脚” ,{},
回应);
反应。结束(); } else { // if url ==“ /” && POST //从正文请求中获取发布数据。上(“数据” ,功能(postBody ){ //提取用户名VAR查询=查询字符串。解析(postBody 。的toString ()); //重定向到/:用户名响应。writeHead (303 ,{ “位置” :“/ “ +查询
。用户名});
反应。结束(); }); } } } //处理HTTP路由GET /:username,即/ chalkers函数user (请求,响应){ // if url ==“ / ....” var username = request 。网址。替换(“ /” ,“” ); if (用户名。长度> 0 ){响应。writeHead (200 ,
contentType );
渲染器。view (“ header” ,{},response ); //从Treehouse获取json var studentProfile = new Profile (username ); //在“结束” studentProfile上。在(“结束” ,函数(profileJSON ){ //显示个人资料//商店这是我们所需要的值VAR值= { avatarUrl :profileJSON 。gravatar_url ,用户名:
profileJSON 。profile_name ,
徽章:profileJSON 。徽章。长度,javascriptPoints :profileJSON 。点。JavaScript } //简单的响应渲染器。查看(“个人资料” ,值,响应);渲染器。查看(“页脚” ,{},响应);反应。结束(); }); //关于“错误” studentProfile
。上(“错误” , 功能(错误){
//显示错误渲染器。图(“错误” ,{的errorMessage :错误。消息},响应);渲染器。图(“搜索” ,{},响应);渲染器。查看(“页脚” ,{},响应);响应。端(); }); } }
模块。出口。家 = 家;
模块。出口。用户 = 用户;
关于什么可能导致此问题的任何想法?
答:进行了更改,但是现在我收到一条错误消息“ throw er; //未处理的'错误'事件”
var EventEmitter = require (“ events” )。EventEmitter ;
var http = require (“ https” );
var util = require (“ util” );
/ ** *一个EventEmitter,用于获取Treehouse学生的个人资料。* @param用户名* @constructor * /函数配置文件(用户名){ EventEmitter 。呼叫(this ); profileEmitter =这个;
//连接到API URL(http://teamtreehouse.com/username.json)
var request = http 。获得(“https://teamtreehouse.com” +用户名+ “上传.json” ,功能(响应){ VAR体= “” ;如果(响应。的StatusCode ==!200 ){请求。中止(); //状态代码错误profileEmitter 。EMIT (“错误” ,新的错误
(“有错误获取简档为” + 用户名 + “(” + HTTP 。STATUS_CODES [响应。的StatusCode ] + “)” ));
} //读取数据响应。on ('data' ,function (chunk ){ body + = chunk ; profileEmitter 。发出(“ data” ,chunk ); }); 反应。在(
'结束' , 函数 () {
如果(响应。的StatusCode === 200 ){尝试{ //解析数据VAR轮廓= JSON 。解析(body ); profileEmitter 。发出(“ end” ,profile ); } catch (错误){ profileEmitter 。发出(“错误” ,错误); } } })。
on (“ error” , function (error ){
profileEmitter 。发出(“ error” ,error ); }); }); }实用程序。继承(Profile ,EventEmitter ); 模块。出口=概况;