2015-09-13 60 views
0

我是新來的骨幹& symfony(以及開源),我試圖根據這兩個框架做一個示例應用程序。我在前端(使用主幹)上有一個HTML頁面,我通過調用model.save,model.destroy等向後端系統發送請求(使用symfony)。在後端系統上,我有一個控制器的操作,聲明爲如下:使用Symfony獲取由Backbonejs發送的發佈數據

public function createAction(Symfony\Component\HttpFoundation\Request $request) 

,但是當我的var_dump的$要求我不能找出正在從前端(既不$ _REQUEST,$ _ POST)發送的POST參數。 我想知道如何使用Symfony獲取POST參數?

這裏是我的骨幹

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:如果我通過調用

$request->request->get('description') 
+0

u能提供您骨幹JS集合或模型腳本? –

+0

@MarcelDjaman我已經更新了,請看看。 – geraintdong

+0

對不起@geraintdong看到我的回答 –

回答

1

你會希望通過自己的方式Symfony book這將有助於你帶着這些疑問使用HTML表單,我能得到POST數據並讓您更全面地瞭解Symfony的工作方式,而不僅僅是針對您的特定問題從教程中挑選解決方案。您的問題將在Controller的章節中得到解答,您可能還需要查看FormsValidation,這將有助於處理和驗證來自Backbone/AJAX的數據。本書的所有內容都是一個很好的教程,應該可以幫助您從整體上開始使用Symfony框架。

+0

感謝您的幫助,我已經看了一下這本書,並嘗試了它的建議,但它沒有幫助。 :(希望你有更好的解決方案 – geraintdong

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!'); 
    } 
); 
0

您必須聲明一個Symfony的控制器,可以處理一個AJAX請求的動作。在你的動作中,你可以通過$request->isXmlHttpRequest()來檢查你的請求對象是否是AJAX。

欲瞭解更多,你必須檢查有關控制器和路由的Symfony文檔:http://symfony.com/doc/current/book/controller.html