2012-05-11 6 views
-1

私はいくつかのマニュアルを探していましたが、私のために働くようには見えませんでした(彼らは十分に詳細か、どちらかというと愚かです)。私のTYPO3エクステンションエクステンションでAJAXコールを取得するには?

私はFluid View HTMLファイルからAJAX呼び出しをいくつかのイベントで開始したいと思っています。その後、コントローラでアクションを実行して値を返してください(値は現時点では問題ありません。 ExtbaseのAJAXについては、ここで働くものは何もないようです)。ノー詳細を

+0

いくつかのコードを投稿してください。 – peter

+0

ここにいくつかのコードhttp://daniel.lienert.cc/blog/blog-post/2011/04/23/typo3-extbase-und-ajax/ 私はそれを正しく配置することができません、私は(私は)知っていると思うあなたが必要とするコード。 – user828591

+0

[これは一般的なチュートリアルです](http://www.alexanderschnitzler.de/2011/06/howto-ajax-requests-with-extbase-and-fluid/#more-278) – peter

答えて

1

私は最初の、そして最も重要なことは、AJAX呼び出しに問題が何であるかを確認するために放火犯を使用して...であるあなたの問題は

が何であるかを推測することができます。間違ったURL(アクション、コントローラーなど)や、必要な出力を返さないアクションの問題があります。 FireBugを使用すると、スタックの場所を確認できます。

しかし、おそらく...あなたの流体ビューに直接JS/CSSコードを書きながら覚えておくことが非常に重要なことは、

があると、残念ながらそれはほとんど言及したことがないです:

流体が示すために中括弧を使用しています文字列は変数:{someVar}なので、AJAXやその他のJavaScript関数をFluidテンプレートに入れると、おそらくFluid変数と見なされます。このサンプルでは、​​テンプレートに貼り付ける:

$.ajax({ 
    url: "index.php" 
    data: "tx_myextension_plugin[controller]=MyController&tx_myextension_plugin[action]=getData&type=89657201" 
    success: function(result) { 
    alert(result); 
    } 
});  

は、同じようにレンダリングされます:

$.ajax(Array); 

はソリューション:テンプレートに直接それをエスケープ

が硬いので、それだけに間違いなく簡単ですすべてのJavaScriptを拡張子のResources/Publicディレクトリに別ファイルに保存して、共通のHTMLタグを含むようにします。

<script type="text/javascript" src="typo3conf/ext/yourext/Resources/Public/ajaxFunctions.js"></script> 
0
$("#searchFach").change(function(){ 
     $.ajax({ 
       type: 'POST', 
       url:"fragen/controller/Question/searchQuestions",  
       data: {mainCategoryId:$("#searchFach").val()}, 
       success: function(response) { $("#searchCategory").html(response);       
       }, 
     }); 
    });` 
関連する問題