首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >node.js服务器,显示包含jqGrid插件的jqGrid文件。

node.js服务器,显示包含jqGrid插件的jqGrid文件。
EN

Stack Overflow用户
提问于 2012-05-30 09:35:48
回答 1查看 2.2K关注 0票数 0

我有一个简单的HTML文件,其中包括jqGrid插件。我正在使用jqGrid插件在我的HTML页面中有一个树网格。

现在,我试图在node.js服务器中托管这个HTML。我的server.js看起来像这样

代码语言:javascript
代码运行次数:0
运行
复制
var http = require('http');
var fs = require('fs');
var path = require('path');

http.createServer(function (request, response) {

console.log('request starting...');

var filePath = '.' + request.url;
console.log('filePath : '+filePath);

if (filePath == './')
    filePath = './tree.html';

var extname = path.extname(filePath);
console.log('extname : '+extname);

var contentType = 'text/html';

switch (extname) {
    case '.js':
        contentType = 'text/javascript';
        break;
    case '.css':
        contentType = 'text/css';
        break;
}

path.exists(filePath, function(exists) {
    if (exists) {
        fs.readFile(filePath, function(error, content) {
            if (error) {
                response.writeHead(500);
                response.end();
            } else {
                response.writeHead(200, { 'Content-Type': contentType });
                response.end(content, 'utf-8');
            }
        });
    } else {
        response.writeHead(404);
        response.end();
    }
});

}).listen(8125);

到目前为止,我能够在浏览器http://localhost:8125/中显示我的HTML内容。

我的HTML(tree.html)文件的一部分如下所示

代码语言:javascript
代码运行次数:0
运行
复制
jQuery("#treegrid").jqGrid({ 
          url: 'tree.json', 
          datatype: 'json', 
          //mtype: 'GET', 
          colNames: [/* "ID",  */"Col 1", "Col 2",.. ],
          colModel: [/* { 
              name: 'id', 
              index: 'id', 
              width: 1, 
              hidden: true, 
              key: true 
          },  */{ ...

如果您注意到,我已经指定'tree.json‘作为URL属性来加载树网格。这只是读取一个静态文件来加载带有样例数据的树网格。

http://localhost:8125/问题:现在,当我尝试使用http://localhost:8125/tree.json访问http://localhost:8125/tree.json文件时,会得到一个404未找到的错误。

快速解决方案: --我可以指定文件'tree.json‘的相对路径,它可以工作。

我的HTML文件tree.htmltree.json都位于同一个目录(/tree)中,我从命令提示符(终端)启动node.js服务器,如下所示

代码语言:javascript
代码运行次数:0
运行
复制
tree> node server.js 

我想知道在哪里可以放置我的tree.json,以便使我的HTML按预期工作。

请随时要求澄清。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2012-05-30 10:17:47

你用这条线

代码语言:javascript
代码运行次数:0
运行
复制
var filePath = '.' + request.url;

在你的代码中,这看起来有点奇怪。在'tree.json'请求的情况下,您可能会使用.tree.json作为filePath的值,而不是您可能希望拥有的./tree.json。我觉得你应该把密码修好。

此外,在'application/json'扩展的情况下,最好将.json设置为contentType变量的值,就像您为'.js''.css'文件设置'text/javascript''text/css'一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10813644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档