3

私は単純なjsファイルを持っています:

//base.js

...
var url = '/post/' + id + '/comment';
...

私は Symfony2 を使用しているため、サーバー側ではすべての URL が Router によって生成されます。js でハードコードされた URL を使用するとバグが発生します。

それらをより動的にする方法はありますか?
これらは私が考えた解決策ですが、私は満足していません:

  • のような HTML タグでそれらを定義する<div data-url="<?php path('post_comment'); ?>">
  • インライン スクリプト タグで定義する<script language="text/javascript">...</script>

一部の大きなサイト (SO、GitHub など) の js ファイルの URL はハードコードされていると思いますが、そうですか?

4

2 に答える 2

1

Friends of Symfony JS Routing Bundleは、まさにあなたのニーズに合わせて作られました

var url = Routing.generate('some_route_to_expose', { foo: 'bar' });
// url is http://somehost.com/app_dev.php/my_route

このバンドルでは、結果のjavascriptをダンプ、コンパイル、および縮小することもできます。それは素晴らしい!

于 2013-01-14T00:13:43.167 に答える
0

構成オブジェクト内にすべての定数変数を定義し、プロパティ名またはゲッター関数を使用してアクセスすることで、少なくとも名前空間の汚染を最小限に抑える必要があります。

于 2013-01-14T00:10:18.750 に答える