【发布时间】:2013-01-13 22:07:20
【问题描述】:
我有一个简单的js文件:
//base.js
...
var url = '/post/' + id + '/comment';
...
我使用的是 Symfony2,所以在服务器端,所有的 url 都是由路由器生成的,我在 js 中使用硬编码的 url 让我很烦恼..
有没有办法让它们更有活力?
这些是我想过的解决方案,但我不满意:
- 在 HTML 标记中定义它们,例如
<div data-url="<?php path('post_comment'); ?>"> - 在内联脚本标签
<script language="text/javascript">...</script>中定义它们
我认为一些大网站(SO、GitHub等)的js文件中的url是硬编码的,对吗?
【问题讨论】:
-
我能想到的另一个例子 - 在构建步骤中生成 urls 映射(并将它们保存在 javascript 对象中)
-
我最终声明了一个全局命名空间对象并将我需要的所有路径作为该对象的属性插入。我有点不喜欢它……这是 Symphony 的一个限制,让我对这个框架不感兴趣。
标签: javascript variables hardcoded