स्पष्ट हो सकता है, लेकिन फिर भी मुझे बुनियादी ज्ञान की कमी है।रेल: format.js या format.json, या दोनों?
तो नियंत्रकों के अंदर, दोनों का उपयोग किया जा सकता है, या यह हमेशा जावास्क्रिप्ट है, तो दोनों समान हैं?
स्पष्ट हो सकता है, लेकिन फिर भी मुझे बुनियादी ज्ञान की कमी है।रेल: format.js या format.json, या दोनों?
तो नियंत्रकों के अंदर, दोनों का उपयोग किया जा सकता है, या यह हमेशा जावास्क्रिप्ट है, तो दोनों समान हैं?
रेल में 3.1 एकमात्र अंतर जो मैं खोज सकता हूं वह यह है कि अगर फॉर्मेटर जेएस है, तो उत्तर सादे पाठ के रूप में भेजा जाता है। यदि यह जेसन है तो यह जेसन के रूप में एन्कोड किया गया है।
अगर format.json
format.json {
render :json => @accounts.map(&:attributes)
}
सर्वर भेजने:
data:application/json;base64,
अगर format.js
format.js {
render :json => @accounts.map(&:attributes)
}
सर्वर भेजने:
[{"id":33,"email":"[email protected]"}]
json
और js
प्रतिक्रिया के दो विभिन्न प्रकार के होते हैं और वे रेल
Mime::Type.register "text/javascript", :js, %w(application/javascript application/x-javascript)
Mime::Type.register "application/json", :json, %w(text/x-json application/jsonrequest)
यहां तक कि अगर Json जावास्क्रिप्ट का एक सबसेट माना जा सकता है में प्रकारों के रूप में परिभाषित कर रहे हैं, सभी जावास्क्रिप्ट प्रतिक्रियाओं वास्तव में Json प्रतिक्रियाएं हैं।
आप उसी कार्रवाई में जेसन और जेएस के साथ जवाब देना चाहेंगे।
उदाहरण के लिए, आपके पास एक ऐसी क्रिया हो सकती है जो जेसन से एपीआई कॉल और जावास्क्रिप्ट (शायद आरजेएस का उपयोग करके) को आंतरिक अजाक्स कॉल में प्रतिसाद दे।
सही उत्तर – Donato
मेरा मानना है कि दोनों का उपयोग किया जा सकता है क्योंकि वे अलग एमआईएम प्रकार हैं। कोशिश क्यों नहीं करते और देखते हैं? –