मैं यह कैसे निर्दिष्ट करूं कि रेलवे रिमोट के साथ AJAX अनुरोध सबमिट करते समय मैं एक JSON ऑब्जेक्ट वापस लौटा सकता हूं: सही पैरामीटर? और एक बार JSON ऑब्जेक्ट लौटाए जाने के बाद मैं इसे कैसे पकड़ूं और इसका उपयोग कैसे करूं?मैं रेल रिमोट का उपयोग कैसे करूं: जेएसओएन के साथ सही पैरामीटर?
उत्तर
आपके विनिर्देशों के आधार पर इसका उत्तर देने के कई तरीके हैं (उदाहरण: आप jquery और UJS एडाप्टर का उपयोग कर रहे हैं) लेकिन मैं एक दस्तावेज़ से सामान पोस्ट करने जा रहा हूं जिसका उपयोग मैं पूरी प्रक्रिया को बेहतर ढंग से समझने के लिए कर रहा हूं: मैं इस ग्रेट post का उपयोग बड़ी डिग्री से करता हूं: मैं अपना उत्तर अपडेट करूंगा क्योंकि मैं वर्तमान में इस सामान के माध्यम से भी काम कर रहा हूं।
आप इस तरह DOM एलीमेंट का डेटा प्रकार विशेषता जोड़ सकते हैं:
<%= link_to "Add a new task", new_project_task_path(@project), "data-type" => "json", :id => "add_task_btn" %>
तुम भी jQuery के वैश्विक $ .ajaxSetup() फ़ंक्शन में एक डिफ़ॉल्ट डेटाप्रकार परिभाषित कर सकते हैं। परिवर्तन सभी अजाक्स अनुरोध:
$(“#add_some_button”).live(“ajax:beforeSend”, function(e, xhr, settings){
new_data_type = “application/json, text/javascript, */*; q=0.01”;
xhr.setRequestHeader('accept', new_data_type);
})
(q = 0.01 0 के बीच प्राथमिकता है और 1)
तो तुम बदल सकते हैं:
$.ajaxSetup({
dataType: 'json'
});
और तीसरा रास्ता beforeSend कॉलबैक में है वह डेटा टाइप करें संपत्ति और HTTP शीर्षलेख आपकी आवश्यकताओं को पूरा करने के लिए। Here
और विशिष्ट जावास्क्रिप्ट मीडिया प्रकार सूची: Here
डेटा स्वरूप का अवलोकन सर्वर से वापस भेजा जा रहा है: 1.) अजाक्स के साथ अनुरोध भेजता है संदर्भ यहाँ के लिए संभव MIME प्रकार की एक सूची है वांछित एमआईएम प्रकार पर सेट हेडर सेट स्वीकार करें। 2.) रेल नियंत्रक यह निर्धारित करने के लिए स्वीकृति हेडर की जांच करता है कि उसे क्या वापस करना चाहिए। 3.) नियंत्रक यह निर्धारित करेगा कि कार्रवाई विशेष MIME प्रकार को संभालती है या नहीं। रेल 3 में हम respond_with का उपयोग कर सकते हैं, पूर्व 3.0 नियंत्रक कार्रवाई में ब्लॉक करने के लिए एक answer_to।
तरीके अजाक्स रेल 3.1 में इस्तेमाल किया जा सकता का अवलोकन:
मुझे विश्वास है कि पसंदीदा तरीका अब स्क्रिप्ट के रूप में डिफ़ॉल्ट डेटाप्रकार उपयोग करने के लिए और इसके बाद एक js.erb या एक js साथ AJAX अनुरोध को संभाल है। कॉफी फाइल
विकल्प: 1.) पर क्लिक करें घटना: डोम तत्वों 2.) अजाक्स 3. के माध्यम से एक प्रपत्र को जमा सम्मिलित करना) अजाक्स 4.) अजाक्स के साथ क्लाइंट-साइड मान्यता के माध्यम से हटाया जा रहा है (एक इनपुट पर डेटा-रिमोट का उपयोग करना फ़ील्ड) 5.) गतिशील चयन जोड़ना (किसी चयनित क्षेत्र पर डेटा-रिमोट का उपयोग करना) 6.) अजाक्स पेजिनेशन - सीधे HTML पर लौटें।
विवरण जो मैं यहां शामिल कर रहा हूं वह मेरी खुद की रूपरेखा/समीक्षा है, कृपया विवरण प्राप्त करने के लिए कृपया एंड्रिया सिंह की महान पोस्ट here देखें।
इस प्रयास करें:
एप्लिकेशन/नियंत्रक/examples.rb
class ExamplesController < ApplicationController
def new
@my_json = { :message => "Hello json"}
end
end
एप्लिकेशन/विचारों/उदाहरण/new.html।haml
= link_to "New", new_examples_path :remote => true
एप्लिकेशन/विचारों/उदाहरण/new.js.erb
console.log("<%= @my_json %>");
console.log("<%= @my_json['message'] %>");
- 1. मैं एकाधिक पैरामीटर के साथ VaryByParam का उपयोग कैसे करूं?
- 2. मैं पाइथन के साथ SQL पैरामीटर का उपयोग कैसे करूं?
- 3. रेल 3 रिमोट फॉर्म: मैं सामग्री प्रकार कैसे निर्दिष्ट करूं?
- 4. मैं जेएसओएन को उद्देश्य-सी के साथ कैसे पार्स करूं?
- 5. मैं वेब फॉर्म के साथ जेएसओएन का उपयोग कर AJAX कॉल कैसे सर्वर करूं?
- 6. लिंक_to रिमोट का उपयोग करना: रेलों को पैरामीटर पास करने के लिए सही
- 7. मैं RestClient के साथ रेल मूलभूत प्रमाणीकरण कैसे करूं?
- 8. रेल में पैरामीटर का उपयोग कैसे करें?
- 9. मैं $ फ़ील्ड वैकल्पिक पैरामीटर के साथ findBy जादू खोजने के कार्यों का उपयोग कैसे करूं?
- 10. मैं स्प्रिंग एमवीसी के @RequestBody पैरामीटर के साथ @ वैलिड का उपयोग कैसे करूं?
- 11. रेल - कार्यात्मक परीक्षणों के साथ जेएसओएन एपीआई का परीक्षण
- 12. मैं सी # का उपयोग कर यूआरएल पैरामीटर कैसे डीकोड करूं?
- 13. मैं रिस्क नौकरियों में रेल सहायकों का उपयोग कैसे करूं?
- 14. मैं साइथन के साथ स्फिंक्स का उपयोग कैसे करूं?
- 15. मैं आमंत्रण-आदेश के साथ नामित पैरामीटर कैसे पास करूं?
- 16. रेल के साथ mysql का उपयोग करना - मैं इसे कैसे सेट अप करूं?
- 17. जेएसओरी के साथ जेएसओएन का उपयोग कैसे करें?
- 18. मैं testDriven.NET के साथ परीक्षण विधि पैरामीटर कैसे निर्दिष्ट करूं?
- 19. मैं विरासत के साथ संरचना का उपयोग कैसे करूं?
- 20. मैं WinSock के साथ OpenSSL का उपयोग कैसे करूं?
- 21. मैं कैबल-देव के साथ रनहास्केल का उपयोग कैसे करूं?
- 22. मैं स्प्रिंग एमवीसी के साथ धूमकेतु का उपयोग कैसे करूं?
- 23. मैं अपाचे आईवी के साथ टेस्टएनजी का उपयोग कैसे करूं?
- 24. मैं ज़ेंड फ्रेमवर्क के साथ नेमस्पेस का उपयोग कैसे करूं?
- 25. मैं System.IO.MemoryStream के साथ GZipStream का उपयोग कैसे करूं?
- 26. मैं ज़ेंड फ्रेमवर्क के साथ PHPUnit का उपयोग कैसे करूं?
- 27. मैं ईजेएस के साथ req.flash() का उपयोग कैसे करूं?
- 28. मैं रूबी के साथ सेलेनियम का उपयोग कैसे करूं?
- 29. मैं ffmpeg के साथ पाइपिंग का उपयोग कैसे करूं?
- 30. मैं ProGuard का उपयोग कैसे करूं?