Symfony Ajax Controller Handler,总是触发jQuery错误函数

时间:2013-11-19 18:10:16

标签: jquery ajax symfony

我是Symfony框架的新手我只是想实现一个简单的ajax示例:

路由:

DartDartBundle_data_user:
    pattern:  /data/user
    defaults: { _controller: DartDartBundle:Data:user }
    requirements:
        _method:  POST

DataController类:

namespace Dart\DartBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;

class DataController extends Controller
{
    public function userAction(){      
        $content = array('success' => true, 'name' => 'luis');
        $response = new JsonResponse($content,200);
        $response->headers->set('Content-Type', 'application/json; Charset=UTF-8');
    return $response;
    }
}

和ajax电话:

$.ajax({
    type : 'GET',
    dataType: 'json',
    url : 'http://symfony.dartintelligence.com/app_dev.php/data/user',
    success : function(data){
        console.log("OK");
        console.log(data);  
    },
    error: function (xhr, ajaxOptions, thrownError){   
        console.log("SOME ERROR OCURRED");
        console.log(thrownError);
    }
});

但它总是触发错误功能。我不知道为什么。我试着没有指定jston dataType并使用Response而不是JsonResponse。

我不知道什么是错的。

2 个答案:

答案 0 :(得分:0)

<强>第一

路由配置为POST - 仅

Ajax请求是GET请求

尝试删除要求

<强>第二

尝试直接在浏览器中访问该网址,以检查您是否正确配置了路径,然后就可以访问该控制器。

答案 1 :(得分:0)

请求来自同一台服务器但具有不同的域。请求不使用任何vhost或域,它使用服务器的ip和htdocs文件夹。

Symfony位于具有vhost别名的文件夹中,并使用域(即symfony.dartintelligence.com/app_dev.php/data/user)进行访问。服务器中的文件夹位于/ DART根文件夹中。所以它./DART/symfony ....

任何一种方法的萤火虫信息。例如,对于GET方法: https://www.dropbox.com/s/r9o6kbsnlyhibxo/screen_capture_20131120_GET_method.png