2013-10-04 5 views
-1

Я новичок в symfony. В настоящее время я импортирую файл JS в шаблон Twig. В этом JS-файле у меня есть очень простой вызов ajax , который не может ссылаться на файл php. Мне было интересно, если кто-то может посоветовать, как правильно ссылаться на файл .php в Symfony 2?Basic Ajax в Symfony

Большое спасибо заранее!

Я не могу использовать {{ asset() }}, потому что я не в файле .twig.

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-кодированных данных.

И это должно работать нормально :)

Edit: вы можете увидеть больше об этом here in the official documentation