2017-04-07 36 views
0

嗨,我是新來的模板和laravel。laravel打印JSON不轉換爲htmlentities

我已經改變了laravel分隔符[[]]和[[[]]]使用

Blade::setContentTags("[[", "]]"); 
Blade::setEscapedContentTags("[[[", "]]]"); 

現在我想的JSON傳遞到JavaScript變量像

var somevariable = [[json_encode($variableFromController)]]; 

但這個轉換的JSON字符串爲HTML實體,如

{"index":200} 

我搜索,發現{{!!json_encode($variableFromController)!!}}應該工作,但在我的系統如[[!!json_encode($variableFromController)!!]]這樣做不會產生任何影響。

我知道我可以做類似<?php echo json_encode($variableFromController) ?>但這是我想嘗試的最後一件事。有什麼特別的事情可以做嗎?

回答

1

起初Blade::setContentTags("[[", "]]");表示用[[代替{!!。和Blade::setEscapedContentTags("[[[", "]]]");正在用[[[代替{{

使你的病情[[ json_encode($variableFromController) ]]{!! json_encode($variableFromController) !!}

+0

好了,但是當我寫[json_encode($ variableFromController)]]它打印字符串'{"指數":200}相當於'而不是'{ 「指數」 :200}'我怎樣才能打印平面字符串而不需要關聯html實體。 – Arpita

+0

我認爲這與拉拉維爾無關。它是html。在我的測試中,我使用的是'

 //JSON content
',但如果你想要其他方法,我認爲'JSON.stringify'就是解決你的問題的方法。看看:[this](http://stackoverflow.com/questions/4810841/how-can-i-pretty-print-json-using-javascript)或[this](http://stackoverflow.com/questions/ 14195530 /如何對顯示原始JSON-數據上-A-HTML頁) –