自己也比较小白,不知道取这个名字对不对。
最近在学习的过程中,发现需要将node.js与原来项目进行结合,而原来的项目使用的都是.net框架,于是就在寻找方法将这两个合起来。
node.js就是用js写后台,而原来的.net框架基本上是Client端使用HTML+JS,并用AJAX和后端的C#进行通讯,现在在保留原来的.net框架下,将一部分前台的数据通讯从node.js走。就是同时在一台机器上架两个服务器,然后前台仍然部署在.net上,但是部分数据通过AJAX实现和node.js的跨域通信。
然后需要对代码做如下更改:
1.
对前台AJAX请求进行更改,原来请求的是ashx页面,更改到对应的请求位置
更改前:
$.get("./ajax/Bucket.ashx", {
UserId: "admin",
bucketName: evt.target.bucketName.value
cache: false
}, function (str) {
$("#txt_resCreateBucket").html('create success');
})
更改后:
$.get("
http://localhost:3000/ajax/GetBucket", {
UserId: "admin",
bucketName: evt.target.bucketName.value
cache: false
}, function (str) {
$("#txt_resCreateBucket").html('create success');
})
2. 由于是跨域请求,在node.js返回请求处加上res.setHeader('Access-Control-Allow-Origin', '*');
sql.open(conn_str, function (err, conn) {
// if (err) {
// console.log('数据库连接错误,请检查数据库');
// }
//var user = req.params.user;
var sqlstr = "SELECT BucketName,BucketType,UserId,CreateDate,EndDate FROM dbo.Forge_Bucket WHERE IsUse =1";
sql.queryRaw(conn_str, sqlstr, function (err, results) {
if (err) {
console.log(err);
}
else {
res.setHeader('Access-Control-Allow-Origin', '*');
res.send(results);
}
})
})