Node plus express plus http-proxy-middleware proxy forwarding is used to solve cross-domain problem and data acquisition fails.

  node.js, question

For example, using express plus http-proxy-middleware proxy cannot get the data.

This isapp.jsThe content of

var express = require('express');
 var path = require('path');
 var favicon = require('serve-favicon');
 var logger = require('morgan');
 var cookieParser = require('cookie-parser');
 var bodyParser = require('body-parser');
 //proxy plug-in
 var proxy = require('http-proxy-middleware');
 //Cross Domain Plug-in
 var cors = require('cors');
 var index = require('./routes/index');
 var users = require('./routes/users');
 var app = express();
 // view engine setup
 app.set('views', path.join(__dirname, 'views'));
 app.set('view engine', 'jade');
 // uncomment after placing your favicon in /public
 // app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
 extended: false
 app.use(express.static(path.join(__dirname, 'public')));
 app.use('/', index);
 app.use('/users', users);
 // catch 404 and forward to error handler
 app.use(function(req, res, next) {
 var err = new Error('Not Found');
 err.status = 404;
 // error handler
 app.use(function(err, req, res, next) {
 // set locals, only providing error in development
 res.locals.message = err.message;
 res.locals.error = req
 .get('env') === 'development' ?
 err : {};
 // render the error page
 res.status(err.status || 500);
 //Set up proxy
 app.use('/api', proxy({
 target: '',
 changeOrigin: true
 app.listen(4000, function() {
 module.exports = app;

I grabbed the api of Douban Music, and then the code of the client is as follows

function ajax(url) {
            var xml = new XMLHttpRequest();

  'GET', url, true);

            xml.onreadystatechange = function() {
                if (xml.readyState == 4 && xml.status == 200) {



However, when reporting an error, no data can be obtained. Cross-domain data are indeed missing, but no data can be obtained.

Api interface address isDouban music api, can be opened normally. I don’t know if I wrote something wrong, bosses help me look at it. Thank you very much.

Api path is not defined correctly, read ithttp-proxy-middlewareDocument for

var express = require('express');
 //proxy plug-in
 var proxy = require('http-proxy-middleware');
 var app = express();
 //Set up proxy
 app.use('/v2', proxy({
 target:  '' ,
 changeOrigin: true
 app.listen(4000, function() {