3

在我的节点 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.

有谁知道出了什么问题?

谢谢。

4

1 回答 1

1

并且在服务器中有一个名为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. 输入要获取的文件的完整 URL(例如http://localhost/favs.json.)

显然$.getJSON在未指定时使用意外(可能为空)值作为协议。

于 2013-09-21T19:15:58.377 回答