我正在开发一个使用大量 ajax 的 Web 项目。我正在使用 playframework,并且在我的 html 模板中,我可以访问 playframework 反向路由器,因此我可以从路由器获取 url,而不必担心如果我以后决定更改站点的 url 结构会发生什么。但是,我无法访问外部 js 文件中的反向路由器,但通常希望利用反向路由器的间接性来处理这些文件中的请求。
我想出了一个不强制每个外部 ajax 函数接受 url 参数的解决方案,那就是创建一个像这样的全局 url 对象:
var globalUrls = {
confirmImageUpload : "@routes.UploadController.confirmResourceUpload()",
anotherUrl : "@routes.AnotherController.anotherControllerMethod()"
}
然后我在外部 js 文件中使用这个对象来知道将 ajax 请求发送到哪里。
这可以吗?我不知道这是否是不好的做法,或者像这样公开所有网址是否明智......
如果出于某种原因愚蠢,我希望一些有经验的人会插话......