当前位置: 首页 > 后端技术 > Node.js

angular2(ng2)+express(node)+mysql跨域获取数据

时间:2023-04-03 19:37:46 Node.js

1.angular2核心代码主要使用jsonp?callback=JSONP_CALLBACK(corecode)constructor(publicjsonp:Jsonp){//这里是跨域请求端口3000expressserverdataletwikiUrl='http://localhost:3000/用户?回调=JSONP_CALLBACK';this.jsonp.get(wikiUrl).map(res=>res.json()).subscribe((response)=>{console.log(response);},(error)=>{console.error(error);});}注意:map和jsonp模块需要提前加载2.express部分代码主要是连接数据库,使用连接池连接数据库,然后查询数据库数据,以及使用res.jsonp返回DataA,先在express根目录下创建conf目录,然后创建db.js数据库连接配置文件//databaseconnectionvarmysql=require("mysql");varpool=mysql.createPool({host:'localhost',user:'root',password:'123456',//数据库名称database:'basketball'});varconnection=function(sql,callback){pool.getConnection(function(err,conn){if(err){callback(err,null,null);}else{conn.query(sql,function(err,rows,fields){//释放连接conn。发布();//事件驱动回调callback(err,rows,fields);});}});};module.exports=连接;B.在对应的路由接口查询数据,返回给前端varexpress=require('express');varrouter=express.Router();//连接数据库varconnection=require("../conf/db.js");/*获取用户列表。*/router.get('/',function(req,res,next){//res.jsonp({"name":"zhangxuchao"});connection("select*fromuser",function(err,rows,字段){console.log(rows);res.jsonp(rows);})});module.exports=router;补充:如果有查询条件,参考“select*fromuserwhereusername='”+username+“'andpassword='”+password+“'”3。在OK浏览器中输入地址即可查看数据。