javascript - Symfony2 : AJAX request returns full page html

标签 javascript php jquery ajax symfony

我试图让一个简单的 AJAX 请求在 Symfony2 中工作。似乎请求永远不会到达 Controller 。 AJAX 请求不会提示数字“123”,而是返回当前页面的 HTML (index.html.twig)。我有一种感觉,因为 AJAX 路由的模式指向我所在的当前页面,所以 AJAX 响应被当前页面的输出填充,而不是从 Controller 获取响应。有什么方法可以让我只从 Controller 获取值吗?任何帮助将不胜感激。

这是我的 Twig 模板 (index.html.twig):

{% extends 'base.html.twig' %}

{% block body %}
    <a href="123" class="test">Test</div>
{% endblock %}

{% block javascripts %}
    {% javascripts '@AppBundle/js/jquery.js' %}
       <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
    <script type="text/javascript">
        jQuery(document).ready(function() {     
            jQuery('.test').on('click', function(){
                var id = jQuery(this).attr('href');

                jQuery.post('{{path('task_ajax')}}',               
                    {data: id}, 
                    function(response){
                        alert(response);
                    }
                );
                return false;
            });
        });
    </script>
{% endblock %}

这是我的 routing.yml 文件:

task_ajax:
    pattern:  /jobs
    defaults: { _controller: AppBundle:Ajax:task }
    requirements:
        _method:  POST

这是我的 Controller :

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response; 

class AjaxController extends Controller
{
    public function taskAction() {
        $request = $this->container->get('request');        
        $data = $request->query->get('data');

        return new Response($data);
    }
}

最佳答案

检查路由顺序。将 Ajax 路由移动到第一位。

关于javascript - Symfony2 : AJAX request returns full page html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30061462/

相关文章:

javascript - session 存储没有提供实际值(value)

javascript - dojotoolkit : XMLHttpRequest cannot load file

php - native 表单提交后的 ajax $.post 函数

php - laravel - 从 http 请求中获取参数

php 每个主题最后只有 100 条评论

javascript - 是否有提供时间增量功能的库?

javascript - 在解析中创建或更新对象

php - 计数器不会在 PHP/MySQL 中递增

php - 如何使用 jQuery 初始化 href

javascript - 分组并显示相同类型的元素