净:ERR_CONNECTION_CLOSED

Posted

技术标签:

【中文标题】净:ERR_CONNECTION_CLOSED【英文标题】:net : ERR_CONNECTION_CLOSED 【发布时间】:2018-09-12 15:13:08 【问题描述】:

您好,我在 chrome 中遇到了问题。我不知道是我的代码错误还是镀铬错误。错误是

加载资源失败:net::ERR_CONNECTION_CLOSED

我的 QSTNURLconst app = angular.module('myapp',["ngRoute"]);app.value("QSTNURL","https://localhost:12345/api/insertQuestion");

我来自客户端的 controller.js 是

app.controller('myctrl',function($scope,userFactory,QSTNURL)
  $scope.pushData = function()
  var qstn = $scope.qstn;
  var opt1 = $scope.opt1;
  var opt2 = $scope.opt2;
  var opt3 = $scope.opt3;
  var opt4 = $scope.opt4;
  var ans = $scope.ans;
  const qstnObject = 
      "qstn":qstn,
      "opt1":opt1,
      "opt2":opt2,
      "opt3":opt3,
      "opt4":opt4,
      "ans":ans
  
  console.log('doAjax');
  var promise = userFactory.doAjax(QSTNURL,qstnObject);
  promise.then(function(response)
      $scope.data = response;
   ,function(error)
      $scope.error = error;
  );
 

);

我对服务器的 ajax 调用是

app.factory("userFactory",function($http,$q)
  var userObject = 
    doAjax(QSTNURL,qstnObject)
        console.log('doAjax()');
            var defer = $q.defer();
            $http.get(QSTNURL,qstnObject).then(function(response)
                defer.resolve(response);
                console.log("doAjax 2");
            ,function(error)
                defer.reject(error);
            );
            return defer.promise;

    
  ;
   return userObject;
);

server.js

const express = require("express");
 var expressSession = require('express-session');
 const app = express();
 var path = require("path");
 var bodyParser = require('body-parser');
 const userRoutes = require("./routes/userroutes");
 app.set('views', path.join(__dirname, 'views'));
 app.set('view engine', 'ejs');

 app.use(express.static(path.join(__dirname, 'public')));
 app.use(expressSession(secret: 'mySecretKey'));

 app.use('/api',userRoutes);

 app.use(bodyParser.urlencoded( extended: false ));
 app.use(bodyParser.json());


 app.use('/',userRoutes);
 app.listen(12345,()=>
 console.log("Server Start...");
);

我所有的静态文件(例如:- 所有用于制作 SPA 的 js 文件,例如 app.js、控制器、facotry 等)都在公共文件夹中,视图部分在视图文件夹中

我的路线代码是

router.get('/insertQuestion',(req,response)=>
  console.log("insertQuestion");
  var qstn = req.body.qstn;
  var opt1 = req.body.opt1;
  var opt2 = req.body.opt2;
  var opt3 = req.body.opt3;
  var opt4 = req.body.opt4;
  var ans = req.body.ans;
  var qstnObject = new Insert(qstn,opt1,opt2,opt3,opt4,ans);
  userOperation.insertQuestion(qstnObject,response,req);
  response.json("question inserted");
);

【问题讨论】:

服务器正在运行吗?例如,您可以通过链接从浏览器调用休息点吗? 是的服务器正在运行...我可以登录和注册 如果有人知道它的解决方案,请告诉我... 【参考方案1】:

只有在 12345 端口上没有运行服务器时才会发生此错误。

您正在呼叫https://localhost:12345/dashboard/insertQuestion。所以你还应该考虑到你正在使用https方案,所以确保你的服务器支持https方案并且端口是正确的。

如果您尚未将节点应用程序/服务器应用程序配置为在 https 上运行,则只需替换

https://localhost:12345/dashboard/insertQuestion

http://localhost:12345/dashboard/insertQuestion

【讨论】:

先生,我怎样才能将https 请求发送到服务器。并且服务器在端口 12345 上正常运行,这就是我能够登录和注册的原因。服务器正常启动。我认为问题出在 http 请求中。 这就是我所说的,您正在向 https url 发送请求,但是如果您的服务器在本地运行,那么它可能在 http 上运行。编辑答案 当我将 https 替换为 http 然后错误更改为 GET http://localhost:12345/dashboard/insertQuestion 500 (Internal Server Error) 是的,这意味着您的服务器逻辑有错误并且请求通过。检查服务器日志以更好地了解错误。顺便解决了你的问题。 如果您的问题得到解决,请将其标记为已接受的答案,以便其他人也可以从中获得帮助。【参考方案2】:

嘿,我得到了答案,整个问题出在 QSTNURL 中。我不应该传递这个 URLhttps://localhost:12345/api/insertQuestion 而只传递 api/insertQuestion 直接像这样的 AJAX 调用

app.factory("userFactory",function($http,$q)
var userObject = 
doAjax(QSTNURL,qstnObject)
    console.log('doAjax()');
        var defer = $q.defer();
        $http.get('/api/insertQuestion',qstnObject).then(function(response)
            defer.resolve(response);
            console.log("doAjax 2");
        ,function(error)
            defer.reject(error);
        );
        return defer.promise;


;
return userObject;
);

我不知道为什么会这样。但它解决了我的问题

【讨论】:

这里没有理由使用$q 服务。只需返回$http.get()。它已经是一个承诺错误并解决相同的值。

以上是关于净:ERR_CONNECTION_CLOSED的主要内容,如果未能解决你的问题,请参考以下文章

空净厂商为何对“9颗星”认证趋之若鹜?

基金认购份额

VB 净日期比较

授权净ARB增加认购金额

LeetCode:Database 96.净现值查询

模块化净水瓶