Ciao, sto costruendo una applicazione client-server per una chat tra gli utenti e la risposta proveniente da una Api (Api.ai). Questi sono i file, mi viene fuori un errore e non lo capisco:

Fetch API cannot load http://127.0.0.1:3000/?question=Hi. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8080' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
script.min.js:30 Error: TypeError: Failed to fetch

Dove sto sbagliando?
Grazie

client.js
codice:
var http = require('http');


document.getElementById('submit').onclick = () => {
  console.log('OK');
  const question = '/?question=' +  encodeURIComponent(document.getElementById('question').value);


  const options =
  {
    hostname: '127.0.0.1',
    port: 3000,
    path: question,
    method: 'GET',
    headers: {
      // Authorization: 'Bearer ' + clientAccessToken,
    },
  };


  http.get(options, (res) => {
    let body = '';
    res.on('data', (data) => {
      body += data;
    });
    res.on('end', () => {
      const result = JSON.parse(body);
      console.log('result' + result);
    });
  }).on('error', (e) => {
    console.log('Error: ' + e);
  });
};
server.js
codice:
var apiai = require('apiai');
const http = require('http');
var url = require('url');


const server = http.createServer((req, res) => {
  var parts = url.parse(req.url, true);
  var query = parts.query;
  console.log(query.question);
  var question = query.question;


  var app = apiai("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");


  var request = app.textRequest(question, {
      sessionId: '<unique session id>'
  });


  request.on('response', function(response) {
    var ress = response.result.fulfillment.speech;
    res.writeHead(200, {"Content-Type": "text/plain"});
    res.write(ress);
    // res.end(ress);
    console.log(response.result.fulfillment.speech);
  });


  request.on('error', function(error) {
      console.log(error);
  });


  request.end();
});


server.listen(3000);