2016-10-13 17 views
0

に問題私はSymfony2のの基本的なユーザーだ.IはSymfony2の中にjQueryを使用して、フィルタリング、検索結果の機能を実行しようとしています:Symfony2のフィルタリング結果 - AJAXリクエスト

1.小枝ビューではjavascriptのセクションに私はdatabase.Last命令からデータを取得し、入力からデータを取得し、コントローラで$.ajax()

2. usungコントローラにAjaxのリクエストを送信し、私はreturn new jsonRespons(data)

作ります

最後のステップでは、ajaxメソッドの成功関数にデータを示します。 Evrythingは画像表示以外は完全に機能します。データベースには画像名が格納されています。それは動作しません

 var zmienna='images/ksiazki/'+data[i]['source']+'.jpg' 
    <div class="book-image"><img src="{{asset(zmienna)}}" class="img-responsive"/></div> 

:私は以下ののコードを使用してそれをdysplayしてみてください。助けてください。多分私のアプローチは間違っていますか?Symfony2でどうすればいいですか? javascriptセクションではなく、twigテンプレートのメインセクションにajax結果のデータを送ることは可能ですか?

ありがとうございます。

答えて

0

サーバサイド(twig)にJavaScript変数を表示して、動作しないようにしたいとします。

あなたはAJAX呼び出しを使用すると、IMG要素を作成し、以下のように行うことができますjQueryを使ってdivの

イメージ帳にそれを追加する必要が行われた後、その後にこれを表示したい場合。成功関数をajax呼び出しに追加する

success: function (response) { 
    for(var el in response) { 
     var el = '<img src=" + ' el.src ' +" class="img-responsive"/>' 
     $(".book-image").append(el); 
    } 
} 

これは、JSONにsrc属性の要素の配列があると仮定しています。このようなもの:

[ 
    { 
     src: "path/to/image/image.jpg" 
    }, 
    { 
     src: "path/to/image/otherimage.jpg" 
    } 
] 
+0

お返事ありがとうございます。あなたは正しいですが、私の問題は、小枝のテンプレートでは{{asset()}}関数を使用してjavascriptで機能しない画像を表示する必要があるということです。私は普通のパス、例えばを使うことはできません。しかし、おそらく私はそれを使用することができますか? – appson

+0

{{asset()}}はJavaScriptが実行される前に画像のフルパスを返しますので、javascriptが不要で、 ''を使用し、返された後、必要に応じてJavaScriptで何かを行います – Robert

関連する問題