node.js跨域请求实现和.net框架的通讯

自己也比较小白,不知道取这个名字对不对。


最近在学习的过程中,发现需要将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);
                }
            })
        })


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值