在静态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
获取该文件的内容,
- 确保它可以通过应用程序中的HTTP(S)服务器访问。
- input您要提取的文件的完整URL(例如
http://localhost/favs.json
。)
显然$.getJSON
使用一个意外的(可能为null)作为协议时,它没有指定。