[英]How to get the path of an action of a controller in Symfony2?
我正在練習symfony2。 我有一個問題:
我剛剛制作了一個簡單的樹枝頁面,該頁面將數據發布到控制器的動作中,並且有一個功能(它可以正常工作):
$.ajax({
type: 'POST',
url: "{{ path('my_test_account_register') }}",
data: account,
success: function(msg){
alert("Succeed!");
},
error: function(XmlHttpRequest,textStatus, errorThrown){
alert ("Failed! ");
}
}
但是,我不想向我的每個動作添加注釋。 我想將url: "{{ path('my_test_account_register') }}"
替換為url: "{{ path('MyTestBudnle:Account:register') }}"
,但是我失敗了。
我的問題是:如何在控制器內指定操作的網址? 也許這是一個愚蠢的問題,這是我第一次進入stackoverflow。 所以,很高興認識你們!
您(正確)使用的樹枝函數path()
為給定的路由名稱和一些可選參數創建url。
對於同一操作,控制器可以具有不同的路由(從而有不同的URL)。 因此,如果要查找特定操作的URL,則不能使用Bundle:Controller:Action
表示法。 相反,您必須使用路由名稱。
path()
和render()
之間的區別在於, render()
包括子請求對模板中特定動作的響應。 由於這都是內部發生的,因此無需為此生成URL。 您甚至可以render()
與完全沒有路由的動作一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.