node跨域代码
express搭建
var express = require('express');
var router = express.Router();
var http = require('http');
var https = require("https");
var url = require('url');
var qs = require('querystring');
router.all('/', function(req, res, next) {
res.setHeader("Access-Control-Allow-Origin", "*");
var resultData = '';//创建一个变量来接收返回的数据
var query = url.parse(req.url).query;//提取出网址后面的参数
var qs_parse = qs.parse(query);//把参数转换成对象
console.info(qs_parse);
console.info();
if(qs_parse.myUrl == undefined){
res.send("参数错误!");
}
if(qs_parse.myUrl.split('://')[0] == "https"){
https.get(qs_parse.myUrl,function (response) {
response.setEncoding('utf8');
response.on('data',function (result) {
console.log(result);
console.info();
resultData += result;
});
response.on('end',function () {
var str = '';
if (qs_parse.callback){
str = qs_parse.callback + '(' + JSON.stringify(resultData) + ')';//jsonp
}else {
str = JSON.stringify(resultData);
}
res.send(JSON.parse(str));
});
});
}else {
http.get(qs_parse.myUrl,function (response) {
response.setEncoding('utf8');
response.on('data',function (result) {
console.log(result);
console.info();
resultData += result;
});
response.on('end',function () {
var str = '';
if (qs_parse.callback){
str = qs_parse.callback + '(' + JSON.stringify(resultData) + ')';//jsonp
}else {
str = JSON.stringify(resultData);
}
res.send(JSON.parse(str));
});
});
}
});
module.exports = router;

浙公网安备 33010602011771号