以Angular形式发布时出错(net::ERR_CONNECTION_REFUSED)



我是Nodejs的新手。使用Mysql在本地服务器上创建了一个API。使用Angular作为前端,使用Nodejs和Express作为后端。但是我的Angular应用程序无法连接到Node API。发生的角度错误为:

POST http://localhost:3000/Auth/signUp net::ERR_CONNECTION_REFUSED.

和在节点控制台上发生错误为:

Error
D:AngularEMSexpressnode_modulesmysqllibprotocolParser.js:437
throw err; // Rethrow non-MySQL errors
ReferenceError: error is not defined[enter image description here][1]
at Query.<anonymous> (D:AngularEMSexpressModelsmodel.js:16:25)
at Query.<anonymous> (D:AngularEMSexpressnode_modulesmysqllibConnection.js:526:10)
at Query._callback (D:AngularEMSexpressnode_modulesmysqllibConnection.js:488:16)
at Query.Sequence.end (D:AngularEMSexpressnode_modulesmysqllibprotocolsequencesSequence.js:83:24)
at Query.ErrorPacket (D:AngularEMSexpressnode_modulesmysqllibprotocolsequencesQuery.js:92:8)
at Protocol._parsePacket (D:AngularEMSexpressnode_modulesmysqllibprotocolProtocol.js:291:23)
at Parser._parsePacket (D:AngularEMSexpressnode_modulesmysqllibprotocolParser.js:433:10)
at Parser.write (D:AngularEMSexpressnode_modulesmysqllibprotocolParser.js:43:10)
at Protocol.write (D:AngularEMSexpressnode_modulesmysqllibprotocolProtocol.js:38:16)
at Socket.<anonymous> (D:AngularEMSexpressnode_modulesmysqllibConnection.js:88:28)
[nodemon] app crashed - waiting for file changes before starting...

model.js文件

// import db from "../db.js";
var db = require("../db")
let model = {
signup: (input, cb) => { 
let today = new Date();
let data = {
organisationName: input.organisationName,
email: input.email,
mobileNumber: input.mobileNumber,
password: input.password,
is_Active: 1,
createdAt: today
}
return db.query('INSERT INTO users SET ?' ,[data],(err,result)=>{
console.log("Error");
console.log(error);
console.log("result");
console.log(result);
})`enter code here`
},
findOne: (organisationName,cb) => {
return db.query("SELECT * FROM users WHERE organisationName=? AND is_Active=1", 
[organisationName],cb);
},
findMobile: (mobileNumber,cb) => {
return db.query("SELECT * FROM users WHERE mobileNumber=? AND is_Active=1", 
[mobileNumber],cb);
}
}
module.exports = model;`

db.js文件

[const mysql = require("mysql")
const connection = mysql.createConnection({
host:"localhost",
port:3306,
user: 'root',
password: "123456",
database: "EMS"
})
connection.connect(function(err){
if(err) throw err;
console.log("mysql connected")
})
module.exports = connection;][1]`

路由器文件Auth.js

var express = require("express")
var router = express.Router()`enter code here`
var user = require("../Models/model")
var bcrypt = require("bcrypt")
router.get('/signUp', function(req, res, next) {
res.json({Name: 'Naveen'});
});
router.post('/signUp', (req, res) => {
user.signup(req.body, (error, result) => {
res.json({data: result, error: error })
})
})
module.exports = router;

角服务代码


url = `${environment.apiUrl}/Auth`;
httpOptions = {
headers: new HttpHeaders({
'contentType': 'application/json'
})
}
constructor(private http: HttpClient) { }
signUp(userForm: User) {
return this.http.post(`${this.url}/signUp`, userForm, this.httpOptions)}

角环境代码

export const environment = {
production: false,
apiUrl: 'http://localhost:3000'
};

角度组件表单提交代码

onSignup() {
this.userForm = this.registerForm.value;
console.log(this.userForm)
this._signupService.signUp(this.userForm).subscribe(res => {
console.log(res)
}),
err => {console.log(err)}
this.registerForm.reset();
this.pwdstatus="";
}

根据错误描述,您的问题在以下行中

return db.query('INSERT INTO users SET ?' ,[data],(err,result)=>{
console.log("Error");
console.log(error); // here error is not defined
console.log("result");
console.log(result);
})

请根据以下重写此行

return db.query('INSERT INTO users SET ?' ,[data],(err,result)=>{
console.log("Error");
console.log(err);
console.log("result");
console.log(result);
})

发生错误是因为您在回调函数中将错误参数命名为err

最新更新