1

我正在将一个程序从 turbogears 移植到 web.py/mod_wsgi 并取得了相当大的成功。我已经设置了类似于 turbogears 的 URL 处理,但是我在 extjs 2.0 如何处理 URL 方面遇到了一点小烦恼。

假设我的应用程序名为“ack”,我可以通过访问http://localhost/ackhttp://localhost/ack/来测试它(注意尾部斜杠是唯一的区别)。从 web.py 的角度来看,这无关紧要。但是,在我使用的用 extjs 编写的模板中,我指定 url 以使用 JSON 查询来自应用程序的信息(下面的示例)。

var nameListStore = new Ext.data.JsonStore({
url: 'nameList',
root: 'nameList',
autoLoad: true,
fields: ['name'],
});

这就是麻烦。如果我使用尾部斜杠访问我的应用程序,那么 extjs 会形成一个类似http://localhost/ack/nameList的 url 查询,它会调用我的应用程序的函数并取回正确的数据。如果地址栏中没有斜杠,extjs 会将 url 构建为http://localhost/nameList,它永远不会进入我的应用程序,并且实际上每个 JSON 查询都会失败(如我的 firebug 控制台中所示)。

我假设 extjs 只是扯掉了最后一个斜杠后面的任何东西来构建 url,但我想解决这个问题。现在我只是告诉我的用户确保他们运行带有斜杠的应用程序,但这似乎是一件容易处理的事情。我只是不知道如何在 extjs 中。

4

0 回答 0