ECONNREFUSED ошибка при попытке получить локальный файл JSON - PullRequest
0 голосов
/ 06 марта 2019

Я работаю с nightwatchjs, и мне нужно выполнить некоторые вызовы API.

Чтобы построить запрос для вызова API POST, мне нужно получить локальный json.

Так что я

function retrieveJsonFile(path){
    var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
    var archivoTxt = new XMLHttpRequest();
    archivoTxt.open("GET", path, false);
    archivoTxt.send(null);
    console.log(archivoTxt);
}

Когда путь равен

'create.json'

Что регистрируется на консоли

{ UNSENT: 0,
  OPENED: 1,
  HEADERS_RECEIVED: 2,
  LOADING: 3,
  DONE: 4,
  readyState: 4,
  onreadystatechange: null,
  responseText: undefined,
  responseXML: '',
  status: 0,
  statusText:
   { errno: 'ECONNREFUSED',
     code: 'ECONNREFUSED',
     syscall: 'connect',
     address: '127.0.0.1',
     port: 80 },
  withCredentials: false,
  open: [Function],
  setDisableHeaderCheck: [Function],
  setRequestHeader: [Function],
  getResponseHeader: [Function],
  getAllResponseHeaders: [Function],
  getRequestHeader: [Function],
  send: [Function],
  handleError: [Function],
  abort: [Function],
  addEventListener: [Function],
  removeEventListener: [Function],
  dispatchEvent: [Function] }

Я пропустил о том, что я делаю не так здесь.Это может быть связано с IP-адресом по умолчанию?Любая подсказка об этой ошибке для этой реализации?

1 Ответ

0 голосов
/ 06 марта 2019

Ваш путь должен быть URL, который обслуживает файл. Вы не можете просто загрузить файл из JavaScript, просто используя его относительный путь.

Вы пробовали простое:

var json = require('./create.json');

Вы также можете попробовать использовать FileReader API для чтения непосредственно из браузера.

Вот пример для изображения:

var file = fileInput.files[0];
var imageType = /image.*/;

if (file.type.match(imageType)) {
  var reader = new FileReader();

  reader.onload = function(e) {
    fileDisplayArea.innerHTML = "";

    // Create a new image.
    var img = new Image();
    // Set the img src property using the data URL.
    img.src = reader.result;

    // Add the image to the page.
    fileDisplayArea.appendChild(img);
  }

  reader.readAsDataURL(file); 
} else {
  fileDisplayArea.innerHTML = "File not supported!";
}
...