2013-10-04 25 views
-1

我是symfony的新手。目前,我正在將JS文件導入Twig模板。在這個JS文件中,我有一個非常基本的AJAX調用,它無法鏈接到PHP文件。我想知道是否有人可以建議如何正確鏈接到Symfony 2中的.php文件?Symfony中的基本Ajax

非常感謝提前!

我無法使用{{ asset() }},因爲我不在.twig文件中。

嫩枝Tempalte

{% block jquery %} 
    <script type="text/javascript" src="{{ asset('bundles/foo/js/searchjs.js') }}"></script> 
{% endblock %} 

我的JavaScript searchjs.js

$.ajax({ 
    url: "myfile.php?search=toys", 
    dataType: "html", 
    success: function(data){ 
     alert(data); 
    } 
}); 
+0

爲什麼人們保持標記Symfony的問題,既[標籤:symfony1] **和** [標籤:Symfony2的]最近? – Phil

+1

你還沒有解釋你的問題。 – zerkms

+0

請參閱編輯。 – AnchovyLegend

回答

2

的問題是,你試圖存取權限的URL應該是控制器的URL。例如:

$.ajax({ 
    url: "/my/controller/action/", 
    dataType: "html", 
    success: function(data){ 
     alert(data); 
    } 
}); 

我想,即使您是SF2的新手,您已經瞭解了控制器是如何工作的。然後你只需要創建一個控制器+一個使用/my/controller/action/的路由。

如果你想要做的是使用json響應,這很簡單:在這個控制器操作中,只需返回Symfony\Component\HttpFoundation\JsonResponse作爲json編碼數據的內容。

這應該工作正常:)

編輯:你可以看到更多關於它here in the official documentation