उपयोग मानकों या URL में डाल डेटा: अजाक्स अनुरोध प्राप्त?

वोट
10

एक अजाक्स GET अनुरोध में URL के भाग बनाम पैरामीटर के रूप में डेटा गुजर का लाभ क्या है?

पैरामीटर का उपयोग करना:

var ajax = new Ajax.Request('server.php',{
    parameters: 'store=11200&product=Meat',
    onSuccess: function(myData){whatever}
});

यूआरएल का उपयोग करना:

var ajax = new Ajax.Request('server.php?store=11200&product=Meat',{
    onSuccess: function(myData){whatever}
});
20/10/2008 को 12:22
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


6 जवाब

वोट
13

उपयोग करने के लिए एक लाभ यह parametersतर्क यह है कि आप इसे एक से पारित सकता है Hashकी तरह वस्तु के बजाय एक स्ट्रिंग के रूप में। (आप ऐसा करते हैं, हालांकि, तो सेट करना methodकरने के लिए पैरामीटर "GET", के रूप में प्रोटोटाइप अजाक्स अनुरोधों के लिए डिफ़ॉल्ट पद्धति POST है, को देखने के अजाक्स के प्रोटोटाइप का परिचय अधिक जानकारी के लिए।)

एक और लाभ यह है, जो इन-लाइन उदाहरण है कि आप दे दी है के साथ और अधिक है, कि आप विकल्प है कि यह करने के लिए भेजा जाता है से अनुरोध URL को अलग कर सकते है। अगर, उदाहरण के लिए, आप कई अलग-अलग URL के समान अनुरोधों का एक गुच्छा भेजने की जरूरत है, तो यह उपयोगी हो सकता है। (उस मामले में, एक आम मानकों होने Hashकि आप प्रत्येक अनुरोध के लिए संशोधित और अधिक उपयोगी है, साथ ही एक पैरामीटर स्ट्रिंग का उपयोग, की तुलना में हो सकता है।)

अधिक जानकारी के लिए, अजाक्स विकल्पों में से प्रोटोटाइप प्रलेखन

20/10/2008 को 12:27
का स्रोत उपयोगकर्ता

वोट
1
  • स्पष्टता
  • एक वस्तु का उपयोग करने के लिए आसान है और यह serialise ( {store: 11200, product: "Meat"})
  • स्पष्टता
20/10/2008 को 12:32
का स्रोत उपयोगकर्ता

वोट
0

यह वास्तव में स्वरूपण और वरीयता की तुलना में इस दूसरे पर एक तकनीकी दृष्टि से कोई फर्क नहीं पड़ता अनुरोध प्राप्त हमेशा URL में डेटा है, क्योंकि। मापदंडों सिर्फ GET अनुरोध के निर्माण के लिए एक सुविधाजनक तरीका है।

20/10/2008 को 12:35
का स्रोत उपयोगकर्ता

वोट
9

की मेरी पसंदीदा उपयोगों में से एक पैरामीटर स्पष्ट रूप से उन्हें लिस्टिंग के बिना एक फार्म के सभी क्षेत्रों में पारित करने के लिए है:

new Ajax.Request('/myurl.php', {
  method:  'get',
  parameters:  $('myForm').serialize(),
  onSuccess:  successFunc(),
  onFailure:  failFunc()
}
20/10/2008 को 12:55
का स्रोत उपयोगकर्ता

वोट
1

इस उत्तर के लिए, आप जिस तरह से मानकों काम पता होना चाहिए। प्राप्त और पोस्ट: HTTP मूल रूप से (मुझे पता है, वहाँ अधिक कर रहे हैं) दो तरीकों डेटा का अनुरोध किया है।

प्राप्त के लिए, मानकों , संसाधन आप अनुरोध करने के लिए जोड़ दिए जाते हैं जैसे आप ऊपर अपने कोड में किया था? / मेरी / संसाधन / नाम para1 = bla। यदि आप संसाधन नाम करने के लिए करता है, तो सीधे संलग्न या पैरामीटर विकल्प का उपयोग यहाँ, वहाँ कोई अंतर नहीं है। GET सामान्य रूप से डेटा का अनुरोध किया जाता है (इसकी प्राप्त;)

इस पद के लिए, मानकों HTTP शरीर में संसाधन से अलग लिखा जाता है। इसके लिए आपको मापदंडों विकल्प का उपयोग करना होगा। पोस्ट (विशाल) डेटा भेजने के लिए प्रयोग किया जाता है।

जो अनुरोध विधि का उपयोग करने के लिए निर्दिष्ट करने के लिए, का उपयोग विधि विकल्प।

नोट: प्राप्त संसाधन (सर्वर के लिए सर्वर से निर्भर करता है) है लंबाई पर एक हार्ड सीमा। तो कभी नहीं मिल का उपयोग कर अधिक डेटा भेजें।

20/10/2008 को 13:25
का स्रोत उपयोगकर्ता

वोट
1

तुम भी प्रारूप का उपयोग कर सकते हैं:

var ajax = new Ajax.Request('server.php',{
  parameters: {
     store: 11200,
     product: "Meat"
  }
  onSuccess: function(myData){whatever}
});

इस तरह से यह कर का लाभ पर है कि आप URL को बदलने के बिना एक पोस्ट करने के लिए किसी GET से बदल सकता है।

20/10/2008 को 16:26
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more