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;