2011-01-26 6 views
0

私はドロップダウン選択リストのフォームを持っています。AJAXを使用する場合のrequestParametersにアクセスする - Symfony

私もリクエストパラメータを探し、アクション、持っている:

indexAction:example.com?type=video - それはロード:URLがあるときに

if($this->getRequest()->isXmlHttpRequest()) 
{ 
    $this->setLayout('layout'); 
} 
$param = $this->getRequestParameter('type'); 

    if($param == 'video') 
    { 
    isicsBreadcrumbs::getInstance()->addItem('All Videos', '@homepage'); 
    $pager = new sfPropelPager('Item', 15); 
    $pager->setPage($request->getParameter('page', 1)); 
    $pager->setPeerMethod('doSelectLatestVideo'); 
    $pager->init(); 
    $this->pager = $pager; 
    } 
    elseif($param == 'photo') 
    { 
    isicsBreadcrumbs::getInstance()->addItem('All Photos', '@homepage'); 
    $pager = new sfPropelPager('Item', 15); 
    $pager->setPage($request->getParameter('page', 1)); 
    $pager->setPeerMethod('doSelectLatestPhoto'); 
    $pager->init(); 
    $this->pager = $pager; 
    } 
} 

さて、これは正常に動作しますがビデオコンテンツ

問題は、私はAJAXを使用してコンテンツを更新したいと思うし、AJAX経由でやっているので、私はもはやmu URLになっていないので、requestParamaterを取得するのに苦労している。

AJAX機能:

$("#filter-form-newsroom .submit").live('click', function(e){ 
$("#search-results").html(ajax_loading); 
var content_type = $("#filter-form-newsroom #type").val(); 
$.ajax(
{ 
    url: "", 
    type: "GET", 
    data: "?type=" + content_type, 
    success: function(data){ 
    var $response=$(data); 
    var filtered_response = $response.find('.post'); 
    $("#search-results").html(filtered_response).hide().fadeIn("fast"); 
    } 
    }); 
e.preventDefault(); 
}); 

この関数は、私の選択リスト内のパラメータをチェックし、requestParamterでフィルタリングすることになっているが、それは動作しません。

アイデア? dataプロパティに

おかげ

答えて

2

よりもむしろ置く?タイプ=」、urlにそれを置く。あなたはURLを自分で入力すると、あなたが得る同じリクエストでその結果ではないでしょうか?

+0

素晴らしいです!データを削除し、?type =をURLに追加して、完璧に動作します! – terrid25