在静态json文件上的Node js上使用getJSON时,不支持获取协议

在我的节点js文件中,我有这样的代码:

var jqxhr = $.getJSON( "favs.json", function() { console.log( "success" ); }) .done(function() { console.log( "second success" ); }) .fail(function( jqxhr, textStatus, error ) { var err = textStatus + ", " + error; console.log( "Request Failed: " + err ); }) .always(function() { console.log( "complete" ); }); 

在服务器上有一个名为favs.json的文件与上面的js文件在同一个目录下。 但是,当我访问该页面时,我得到的错误:

 Request Failed: error, Protocol not supported. 

有谁知道什么是错的?

谢谢。

在服务器上有一个名为favs.json的文件与上面的js文件在同一个目录下。

如果文件位于服务器上,为什么不用fs.readFile()读取?

 var fs = require('fs'); var fileContents; fs.readFile('./favs.json', function (err, data) { if (err) throw err; fileContents = data; // ... }); 

如果你真的想要使用XMLHttpRequest获取该文件的内容,

  1. 确保它可以通过应用程序中的HTTP(S)服务器访问。
  2. input您要提取的文件的完整URL(例如http://localhost/favs.json 。)

显然$.getJSON使用一个意外的(可能为null)作为协议时,它没有指定。