2015-02-10 7 views
5

लक्ष्य को स्केल में कच्चे JSON में लिखे गए मॉडल/व्यू मॉडेल से जाना है जिसे पृष्ठ टेम्पलेट के बाद JSON डेटा के लिए अनुरोध करने से बचने के लिए दृश्य टेम्पलेट में बूटस्ट्रैप किया जा सकता है।स्कैला प्लेफ्रेमवर्क टेम्पलेट्स में JSON डेटा बूटस्ट्रैपिंग

और क्या मैं चारों ओर के साथ खेल रहा है, लेकिन मैं बहुत किस्मत नहीं पड़ा है के उदाहरण:

@(todos: play.api.libs.json.JsValue) 
@import play.api.libs.json.Json 

<html> 
    <head>...</head> 
    <body>...</body> 

    <script> 
     var todos = JSON.parse(' @Json.stringify(todos) '); 
    </script> 
</html> 

मूल रूप से अपने थूकना बाहर के प्रभाव के लिए उद्धृत पाठ का एक बहुत:

[{&quot;id&quot;:&quot;:&quot;294858e2-c9eb-4f50-9eac-47b257573d83&quot;}] 

Google या PlayFramework दस्तावेज़ों के साथ बहुत भाग्य नहीं है इसलिए मुझे कुछ मदद चाहिए।

+0

वास्तव में यहां क्या काम नहीं कर रहा है? – Mikesname

+1

डिफ़ॉल्ट रूप से टेम्पलेट इंजन एचटीएमएल आपके डेटा को उद्धृत करेगा, इसलिए इसे वर्बैटिम प्रस्तुत करने के लिए '@Html (Json.stringify (todos)) जैसे कुछ आज़माएं। सत्यापित करने के लिए HTML आउटपुट को देखें। AFAIK के बाद से 'play.api.libs.json.JsValue' के रूप में' todos' पैरामीटर 'के' JsValue' प्रकार 'को पूरी तरह से अर्हता प्राप्त करने की आवश्यकता हो सकती है, यह डिफ़ॉल्ट टेम्पलेट आयात नहीं है। – Mikesname

+0

@Mikesname आपने सही ढंग से समस्या का अनुमान लगाया है। और '@ एचटीएमएल' का उपयोग करने के लिए आपका सुझाव पूरी तरह से काम किया। यदि आप अपने सुझाव को उत्तर के रूप में पोस्ट कर सकते हैं, तो मैं आगे बढ़ूंगा और इसे स्वीकार करूँगा। –

उत्तर

8

Play टेम्पलेट इंजन आपके द्वारा HTML पर प्रस्तुत किए गए किसी भी तार से बच जाएगा, जो आपके JSON को पूरी तरह से उलझाएगा।

इसे वर्बैटिम आउटपुट करने के लिए, @Html(Json.stringify(todos)) करें, जैसा कि here वर्णित है।

संबंधित मुद्दे