首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Foxx应用程序返回404

Foxx应用程序返回404
EN

Stack Overflow用户
提问于 2014-08-30 06:02:12
回答 1查看 221关注 0票数 2

我正在尝试运行一个定制的Foxx应用程序。

目录结构:

  • ~/src/js/foxx
    • 数据库
      • _system
        • my_app (来自文档)

代码语言:javascript
复制
    - test 
        - myapp ( My custom app ) 
            - manifest.json
            - app.js

myapp manifest.json

代码语言:javascript
复制
{
  "name": "myapp",
    "version": "0.0.1",
    "author": "ccraig",
    "controllers": {
      "/": "app.js"
    }
}

myapp app.js

代码语言:javascript
复制
(function() {
 "use strict";

 var Foxx = require("org/arangodb/foxx"),
 controller = new Foxx.Controller(applicationContext);


 controller.get("/", function(req, res) {
   res.set("Content-Type", "text/plain");
   res.body = "Hello world";
   });

}());

命令启动服务器

代码语言:javascript
复制
arangod --javascript.dev-app-path ~/src/js/foxx ~/tmp/arango_db

然后,我将浏览器指向:

代码语言:javascript
复制
http://localhost:8529/_db/test/dev/myapp/

并收到以下答复:

代码语言:javascript
复制
{"error":true,"code":404,"errorNum":404,"errorMessage":"unknown path 'dev/myapp/index.html'"}

我从_system (my_app)下的文档中复制的示例应用程序对我来说很好。

我还可以运行aardvark管理,这就是我如何创建的“测试”数据库。不过,我确实注意到,它的图标上写着“非活动”,而_system则表示“活动”,不确定这是否相关。

另外,在管理员中,"myapp“显示在测试数据库的应用程序列表中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-30 14:04:37

404的原因是,在默认情况下,对应用程序根的调用被重定向到"index.html“。如果"index.html“是应用程序中没有定义的路由,则会引发404。

可以通过将defaultDocument属性添加到manifest.json文件中来修复这个问题,如下所示:

代码语言:javascript
复制
{
  "name": "myapp",
  "version": "0.0.1",
  "author": "ccraig",
  "controllers": {
    "/": "app.js"
  },
  "defaultDocument" : ""
}

顺便说一下,我在手册中找到了这个:http://docs.arangodb.org/Foxx/HandlingRequest.html

请注意,即使在更改清单文件之后,浏览器也可能缓存了重定向,因此可能会将您路由到index.html。关闭浏览器或清除其缓存可能会修复此问题。

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

https://stackoverflow.com/questions/25579543

复制
相关文章

相似问题

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