Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-Node.js错误:发送邮件后无法设置邮件头_Javascript_Node.js_Reactjs_Express - Fatal编程技术网

Javascript-Node.js错误:发送邮件后无法设置邮件头

Javascript-Node.js错误:发送邮件后无法设置邮件头,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,我对Node.js有一些问题 我正试图通过newsapi.org api获取头条新闻。 当我点击时,它进入techcrunch开关语句中的“/news/api/:newsName”部分 它确实在第一次呈现新闻,但一旦加载,我就会得到这个错误:发送后无法设置标题 你能帮我解决这个问题吗 下面是我的server.js代码: var请求=要求“请求”; var express=需要“express”; var-app=express; var cors=要求“cors”; 设uu homegloba

我对Node.js有一些问题

我正试图通过newsapi.org api获取头条新闻。 当我点击时,它进入techcrunch开关语句中的“/news/api/:newsName”部分

它确实在第一次呈现新闻,但一旦加载,我就会得到这个错误:发送后无法设置标题

你能帮我解决这个问题吗

下面是我的server.js代码:

var请求=要求“请求”; var express=需要“express”; var-app=express; var cors=要求“cors”; 设uu homeglobals=[]; app.usecors{凭据:true,来源:'http://localhost:8080'}; app.setjsonp回调,true; //分类获取新闻 app.get'/news/api/:newsName',functionreq,res{ 常数API_键='6c78608600354f199f3f13ddb0d1e71a'; 设数据=; 常量techCrunchURL=`https://newsapi.org/v2/top-headlines?sources=techcrunch&apiKey=${API_KEY}` const businessInsiderURL=`https://newsapi.org/v2/top-headlines?sources=business-内幕消息&apiKey=${API_KEY}` 让fetchedTechCrunchNews={ 总结果:, 文章: }; switchreq.params.newsName{ “技术危机”案例: requesttechCrunchURL、functionerr、response、html{ 让formattedData=JSON.parseresponse.body; data=response.body; res.setHeader'Content-Type'、'application/json'; res.senddata; }; “商业内幕”一案: requestbusinessInsiderURL、functionerr、response、html{ 让formattedData=JSON.parseresponse.body; data=response.body; res.setHeader'Content-Type'、'application/json'; res.senddata; }; 违约: 数据='请键入正确的新闻来源'; 打破 } } var server=app.listen8082,函数{ var host=server.address.address; var port=server.address.port; console.logExample应用程序在http://%s:%s、主机、端口侦听; }; 您忘记在每个案例之后添加一个中断


在每个切换案例后使用return或break在响应流结束后尝试发送响应时会发生这种情况。
switch(req.params.newsName) {
case 'tech-crunch':
  request(techCrunchURL, function(err, response, html) {        

    let formattedData = JSON.parse(response.body);

    data = response.body;

    res.setHeader('Content-Type', 'application/json');
    res.send(data);

  });
  break;

case 'business insider':
  request(businessInsiderURL, function(err, response, html) {
    let formattedData = JSON.parse(response.body);

    data = response.body;

    res.setHeader('Content-Type', 'application/json');
    res.send(data);

  });
  break;

default:
  data = 'Please type in correct news source';
  break;
}