2016-08-17 3 views
1

Ich verwende dieses DataTable Plugin für Laravel, das für die Verwendung dieses jQuery DataTable Plugins ist.Laravel DataTable Plugin gibt Code mit htmlentities

Ich folgte den Anweisungen here gefunden, so ist dies mein Controller:

class FeedbackController extends Controller { 

    public function UserFeedback(Request $request) { 
     $t = Datatable::make(new CollectionProvider(FeedbackModel::all())) 
      ->column('overall') 
      ->build(); 

     if ($t->shouldHandle()) { 
      return $t->handleRequest(); 
     } 

     return view('admin.feedback', ['datatable' => $t->view()]); 
    } 

} 

Und das ist meiner Meinung nach:

{{ 
    $datatable->html() 
}} 

Aber aus irgendeinem Grund, wenn ich laden Sie die Seite es ausgibt, das html mit htmlentities wie folgt:

<table id="dataTable"> 
    </table><script type="text/javascript"> 
    jQuery(document).ready(function() { 
     // dynamic table 
     oTable = jQuery('#dataTable').DataTable({ 
      "processing": true, 
      "serverSide": true, 
      "ajax": "/", 
      "columns": [ 
           { 'data': 'overall' }, 
          ] 
     }); 
    }); 
</script> 

Warum macht es das?

Antwort

1

Dies wird Ihnen helfen (von Laravel docs genommen)

Rohtext geschweiften Klammern angezeigte

Wenn Sie eine Zeichenfolge angezeigt werden müssen, die in geschweiften Klammern gewickelt ist, können Sie das Blade-Verhalten entkommen indem Sie Ihren Text mit einem @ -Zeichen voranstellen:

@{{ This will not be processed by Blade }}

Wenn Sie nicht möchten, dass die Daten maskiert werden, können Sie die folgende Syntax verwenden:

Hello, {!! $name !!}.

Nutzung auf diese, die ...

{{ 
    $datatable->html() 
}} 

die oben ignorieren, dass der falsche Weg um, gehen Sie wie unten ...

Or

Sie können die entschlüsseln html so ...

htmlspecialchars_decode($datatable->html())

und Ausgang, ...

+0

ahh Dank! das funktioniert! –

Verwandte Themen