尝试检索本地json文件时出现ECONNREFUSED错误

时间:2019-03-06 12:48:36

标签: javascript xmlhttprequest nightwatch.js

我正在使用nightwatchjs,我需要执行一些API调用。

为了构造POST API调用的请求,我需要检索本地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 :(得分:0)

您的路径必须是提供文件的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!";
}