我是骨干和新手symfony(以及开源),我正在尝试基于这两个框架制作示例应用程序。我在前端有一个HTML页面(使用主干),我通过调用model.save,model.destroy等向后端系统发送请求(使用symfony)。在后端系统上我有一个控制器的动作,声明为下面:
public function createAction(Symfony\Component\HttpFoundation\Request $request)
但是当我var_dump $ request时,我找不到从前端发送的POST参数($ _REQUEST,$ _POST)。 我想知道如何使用Symfony获取POST参数?
这是我的Backbone代码
var BookModel = Backbone.Model.extend({
urlRoot : 'http://localhost/bookkeeper/web/app.php/',
defaults : {
title : '',
description : '',
pages : 0
}
});
var book = new BookModel();
var bookDetails = {
title : 'Test backbone test add new',
description : 'test add new',
pages : 354
};
book.urlRoot = 'http://localhost/bookkeeper/web/app_dev.php/create';
book.save(bookDetails, {
success : function(model, response) {
console.log(response);
},
error : function(model, response) {
console.log(response);
}
});
如果您能为我提供解决此问题的教程,我也很感激。 谢谢你的帮助
PS:如果我通过调用
使用HTML表单,我可以获取POST数据$request->request->get('description')
答案 0 :(得分:0)
很抱歉有时间试试这个
book.save(bookDetails, {
silent : false,
sync : true,
success : function(model, res) {
if (res && res.errors) {
console.log('no way, crap!');
} else {
console.log('yes i did it!');
}
},
error: function(model, res) {
console.log('error!');
}
);
答案 1 :(得分:0)
您必须使用可以处理AJAX请求的操作声明Symfony Controller。在您的操作中,您可以通过$request->isXmlHttpRequest()
检查您的Request对象是否为AJAX。
您需要查看有关控制器和路由的Symfony文档:http://symfony.com/doc/current/book/controller.html