मैं विभिन्न के लिए रीयलटाइम लॉगिंग एप्लिकेशन के लिए मीटियर का उपयोग करने की योजना बना रहा हूं, मेरी आवश्यकता बहुत सरल है, मैं एक लॉग पास करूंगा क्योंकि अनुरोध के रूप में संदेश विभिन्न अनुप्रयोगों से पैरामीटर (पोस्ट या जीईटी) और उल्का को बस संग्रह को अपडेट करने की आवश्यकता है। मुझे मेटीर सर्वर कोड में अनुरोध पैरामीटर्स तक पहुंचने और आने वाले लॉग मैसेज के साथ मोंगो संग्रह अपडेट करने की आवश्यकता है। मैं सीधे मौजूदा अनुप्रयोगों से मोंगो संग्रह अपडेट नहीं कर सकता, इसलिए कृपया इसका कोई सुझाव नहीं दे रहा है। मैं जानना चाहता हूं कि मैं इसे मेटियर फ्रेमवर्क से कैसे कर सकता हूं और अधिक पैकेज जोड़कर ऐसा नहीं कर सकता।मैं उल्का में अनुरोध पैरामीटर्स का उपयोग कैसे करूं?
उत्तर
शायद यह आपकी मदद करेगा? http://docs.meteor.com/#meteor_http_post
यह बाहरी http पोस्ट करना है, आने वाले लोगों पर नहीं। – nubela
चीजें खड़े होने पर, यूआरएल हिट होने पर सर्वर साइड रूटिंग या सर्वर पक्ष पर विशिष्ट कार्रवाइयों के लिए समर्थन नहीं है। तो आप जो करना चाहते हैं उसे करना आसान नहीं है। यहाँ कुछ सुझाव हैं।
आप शायद प्राप्त कर सकते हैं कि आप क्या तकनीक है कि प्रमाणन शाखा पर
oauth2
पैकेज द्वारा उपयोग किया जाता उधार हैं: https://github.com/meteor/meteor/blob/auth/packages/accounts-oauth2-helper/oauth2_server.js#L100-109हालांकि यह वास्तव में इतना समर्थित नहीं है मैं इसे एक अच्छा है कुछ नहीं कर रहा हूँ विचार।
आपके अन्य एप्लिकेशन वास्तव में डीडीपी का उपयोग करके संग्रह को अपडेट कर सकते हैं। यह शायद लगता है की तुलना में यह आसान है।
आप एक मध्यवर्ती आवेदन का उपयोग कर सकते हैं जो POST/GET अनुरोध स्वीकार करता है और डीडीपी का उपयोग करके आपके उल्का सर्वर से बात करता है। यह संभवतः तकनीकी रूप से सबसे आसान काम है।
दरअसल, उल्का राउटर _does_ सर्वर-साइड मार्गों को अधिक आम क्लाइंट-साइड के अलावा संभालता है। अपने github पृष्ठ पर दस्तावेज़ देखें: https://github.com/tmeasday/meteor-router –
हाहा, आप बिल्कुल सही हैं, लेकिन जब मैंने यह उत्तर लिखा था तो मैंने अभी तक राउटर को कार्यक्षमता नहीं जोड़ा है;) –
मैं करने के लिए एक वैकल्पिक हल उल्का आवेदन कस्टम अनुरोधों को हैंडल करने के लिए एक रूटर जोड़ने पाया।
यह कनेक्ट राउटर मिडलवेयर का उपयोग करता है जो उल्का के साथ भेज दिया जाता है। कोई अतिरिक्त निर्भरता नहीं!
सर्वर पर Meteor.startup को पहले/बाहर रखें। (Coffeescript)
SomeCollection = new Collection("...")
fibers = __meteor_bootstrap__.require("fibers")
connect = __meteor_bootstrap__.require('connect')
app = __meteor_bootstrap__.app
router = connect.middleware.router (route) ->
route.get '/foo', (req, res) ->
Fiber() ->
SomeCollection.insert(...)
.run()
res.writeHead(200)
res.end()
app.use(router)
इसे docs.meteor.com पर दस्तावेज किया जाना चाहिए (कम से कम एक अधिक आधिकारिक समाधान समाप्त होने तक :) @Geoff –
यदि आप स्वचालित क्वेरी और बॉडी पार्सिंग का उपयोग करना चाहते हैं तो निम्न जोड़ें: app.use (connect.query()) .use (connect.bodyParser()) –
नोट: 0.6.0 के रूप में यह काम नहीं करेगा - हालांकि एनपीएम.रेक्वायर ('...') देखें; – emgee
संपादित करें:Iron Router, उल्का रूटर के उत्तराधिकारी के उपयोग करने के लिए अपडेट किया गया।
Install Iron Router और सर्वर की ओर से मार्ग को परिभाषित:
Router.map(function() {
this.route('foo', {
where: 'server',
action: function() {
doSomethingWithParams(this.request.query);
}
});
});
http://yoursite.com/foo?q=somequery&src=somesource
तरह के अनुरोध के लिए
तो, चर this.request.query
समारोह में ऊपर { q: 'somequery', src: 'somesource' }
होगा और इसलिए आप this.request.query.q
और this.request.query.src
के माध्यम से अलग-अलग मानकों का अनुरोध कर सकते और जैसे। मैंने केवल अनुरोधों का परीक्षण किया है, लेकिन पोस्ट और अन्य अनुरोध प्रकारों को समान रूप से काम करना चाहिए; यह उल्का 0.7.0.1 के रूप में काम करता है। सुनिश्चित करें कि आप इस कोड को Meteor.isServer
ब्लॉक या अपनी परियोजना में /server
फ़ोल्डर में फ़ाइल में डाल दें।
मूल पोस्ट:
उपयोग MeteoriteMeteor Router स्थापित करने और एक सर्वर साइड मार्ग को परिभाषित करने के: समारोह में, http://yoursite.com/foo?q=somequery&src=somesource
तरह के अनुरोध के लिए
Meteor.Router.add('/foo', function() {
doSomethingWithParams(this.request.query);
});
तो चर this.request.query
उपरोक्त { q: 'somequery', src: 'somesource' }
होगा और इसलिए आप this.request.query.q
के माध्यम से व्यक्तिगत मानकों का अनुरोध कर सकते हैं nd this.request.query.src
और इसी तरह। मैंने केवल अनुरोधों का परीक्षण किया है, लेकिन पोस्ट और अन्य अनुरोध प्रकारों को समान रूप से काम करना चाहिए; यह उल्का 0.6.2.1 के रूप में काम करता है। सुनिश्चित करें कि आप इस कोड को Meteor.isServer
ब्लॉक या अपनी परियोजना में /server
फ़ोल्डर में फ़ाइल में डाल दें।
मैं जानता हूँ कि प्रश्नकर्ता संकुल जोड़ने के लिए नहीं चाहता है, लेकिन मुझे लगता है Meteorite का उपयोग कर स्थापित करने के लिए है कि Meteor Router मेरे लिए एक भविष्य के लिए अधिक सबूत के रूप में __meteor_bootstrap__
की तरह आंतरिक अप्रलेखित उल्का वस्तुओं तक पहुँचने की तुलना में इस लागू करने के लिए जिस तरह से लगता है। जब पैकेज एपीआई को मौसम के भविष्य के संस्करण में अंतिम रूप दिया जाता है, तो उल्का राउटर स्थापित करने की प्रक्रिया आसान हो जाएगी (उल्कापिंड की आवश्यकता नहीं है) लेकिन कुछ भी बदलने की संभावना नहीं है और आपका कोड शायद संशोधन की आवश्यकता के बिना काम करना जारी रखेगा।
आयरन राउटर के रूप में> = 1.0, 'this.request.query' को' this.params.query' – mrkre
@ जेफ्री-बूथ के लिए बहिष्कृत किया गया है, मैं जीएसएम ढाल से डेटा भेजने की कोशिश कर रहा हूं और कोड की इस पंक्ति में एक है मुझे बस इसे एक पोस्ट के लिए स्विच करना होगा, हालांकि 'Meteor.call (' POST '' या आयरन राउटर पहले से ही इसका निपटारा कर रहा है? 'Char अनुरोध [] = "GET /test-get-post.php प्राप्त करें ? ए = 1 और बी = 2 HTTP/1.1 \ r \ nहोस्ट: test.libelium.com \ r \ n सामग्री-लंबाई: 0 \ r \ n \ r \ n "; ' – mjwrazor
उपयोग IronRouter, यह बहुत आसान है:
var path = IronLocation.path();
- 1. मैं उल्का में jQuery यूआई का उपयोग कैसे करूं?
- 2. मैं उल्का में कुछ कैसे लॉग करूं?
- 3. मैं मेटियर में process.env का उपयोग कैसे करूं?
- 4. मैं RazorViewEngine से अनुरोध ऑब्जेक्ट का उपयोग कैसे करूं?
- 5. मैं एक उल्का आवेदन में बूटस्ट्रैप कैसे अनुकूलित करूं?
- 6. मैं पायथन में पैच अनुरोध कैसे करूं?
- 7. मैं उल्का टेम्पलेट में गतिशील फ़ील्ड पर एक्स-संपादन योग्य का उपयोग कैसे करूं?
- 8. वेब एपीआई - नियंत्रक के बाहर पैरामीटर्स का अनुरोध
- 9. मैं मेटर में खातों-फेसबुक का उपयोग कर उपयोगकर्ता का ईमेल पता कैसे प्राप्त करूं?
- 10. मैं enlive में स्निपेट का उपयोग कैसे करूं?
- 11. मैं Django-CMS प्लगइन में अनुरोध ऑब्जेक्ट का उपयोग कैसे करूं?
- 12. मैं CGI स्क्रिप्ट में अनुरोध के HTTP शीर्षलेख का उपयोग कैसे करूं?
- 13. मैं AVAssetWriter का उपयोग कैसे करूं?
- 14. मैं बूस्ट बीसीपी का उपयोग कैसे करूं?
- 15. मैं Form.ShowDialog का उपयोग कैसे करूं?
- 16. मैं cx_freeze का उपयोग कैसे करूं?
- 17. मैं QTextBlock का उपयोग कैसे करूं?
- 18. मैं PerformanceCounterType औसतTimer32 का उपयोग कैसे करूं?
- 19. मैं PackageManager.addPreferredActivity() का उपयोग कैसे करूं?
- 20. मैं सिंडिकेशन फीड का उपयोग कैसे करूं?
- 21. मैं accepts_nested_attributes_for का उपयोग कैसे करूं?
- 22. मैं TLBIMP.EXE का उपयोग कैसे करूं?
- 23. मैं नवीनतम ओपनजीएल का उपयोग कैसे करूं?
- 24. मैं ड्रोल प्लानर का उपयोग कैसे करूं?
- 25. मैं IValidatableObject का उपयोग कैसे करूं?
- 26. मैं OpenCV MatchTemplate का उपयोग कैसे करूं?
- 27. मैं पीडीबी फाइलों का उपयोग कैसे करूं
- 28. मैं strcasestr() का उपयोग कैसे करूं?
- 29. मैं सशर्त ऑपरेटर का उपयोग कैसे करूं?
- 30. मैं chrome.tabs.onUpdated.addListener का उपयोग कैसे करूं?
मुझे यकीन है कि अगर यह अंतर्निहित Node.js उदाहरण का उपयोग करने के लिए संभव है नहीं कर रहा हूँ। लेकिन अगर आप इसे किसी भी तरह पकड़ सकते हैं, तो एक त्वरित 'app.post ('/', फ़ंक्शन (अनुरोध, प्रतिक्रिया) {});' चाल चल जाएगा। हालांकि एक विचार हालांकि, मुझे यह नहीं पता कि यह संभव है या नहीं। –