我是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。
我不知道什么是错的。
答案 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