2017-06-28 10 views
0

イメージマネージャを作成し、各URLにjqueryをロードしていますが、ajaxリクエストの 'src'属性を変更すると、イメージがブラウザに表示されるまでに数秒かかります。スピナーを配置しようとしましたが、リクエストがロードされた後にすべてを表示しようとしましたが、「src」属性をチェックするとURLは既にロードされていますがイメージはロードされませんでした。 jQueryのロードメソッドは、どちらも動作しませんが、これらの場合には何ができますか?私はこのケースでjqueryイメージの負荷を最適化する

public function cargarBannerT(Request $request) 
    { 
     $banner=$estados = DB::table("banners")->select('banner_image')->where('banner_type','=',$request->tipo)->get(); 
     if (count($banner)>0) { 
      return $banner[0]->banner_image; 

     } 


    } 

このように私の方法を変更した

 $(window).on("load", function() { 
     $.ajax({ 
       async:true, 
       cache:false, 
       dataType: 'json', 
       type: 'get', 
       url: 'cargarBanner', 
       success: function(data){ 
        ajax_start(); 
       if (data.success==true) 
       { 
        for(var i=0;i<data.banner.length;i++) 
       { 

        switch(data.banner[i].banner_type) 
        { 
         case "encabezado": 
         $("#"+data.banner[i].banner_type+" img").attr('src',flagsUrl+"/"+data.banner[i].banner_image); 
         break; 

         case "bsq-superior": 
         $("#"+data.banner[i].banner_type+" img").attr('src',flagsUrl+"/"+data.banner[i].banner_image); 
         break; 

         case "bsq-inferior": 
         $("#"+data.banner[i].banner_type+" img").attr('src',flagsUrl+"/"+data.banner[i].banner_image); 
         break; 
        } 



       } 
       } 

       }, 
       complete: function(response) { 
        alert("listo"); 
       ajax_stop(); 
        }, 
       //si ha ocurrido un error 
       error: function(data){ 
        alert("ha ocurrido un error") ; 

       } 
      }); 
    });` 

**** UPDATE **

、方法は、画像「1498501452.jpgのURLを返します" はしかし、HTMLでは、プレーンテキストのみが表示され、壊れた画像 "SRC =" ../画像/ cargarBannerT?TIPO = encabezado" 私が見ることができるように

答えて

1

、あなたのように呼び出していますあなたのイメージのURLを返すervice。 URLを変更すると、ブラウザは新しいURLから画像をダウンロードして表示する必要があります。

あなたのcargarBannerサービスは画像のURLにリダイレクトする必要があります。一旦それをしたら、イメージソースから直接サービスに電話するだけです。ような何か:

<img src="cargarBanner?param1=value1&param2=value2&..."/> 

この方法で、ブラウザはAJAX呼び出し

+0

こんにちは、私はそれを動作させるための方法を解決してきたが、それは何も戻っていない、それは認識していることを行うことなく、あなたのサービスを呼び出します画像の名前ではなく文字列としてのsrc内のテキスト –

+0

cargarBannerサービスの入力パラメータと出力を記述する必要があります。 – RDM

+0

こんにちはRdm、私の質問を編集しました –