2010-07-31 7 views
26

मैं यह पता लगाने की कोशिश कर रहा हूं कि एचटीएमएल 5 सक्षम साइट में डाल/हटाए गए तरीके क्यों क्रोम के साथ काम नहीं कर रहे हैं। जो मैंने खोजा है, उससे ऐसा लगता है कि यह क्रोम के साथ कुछ समय के लिए काम कर रहा है, इसलिए मैंने कहा कि मैं बस अपनी समस्या को कम करने के लिए कुछ पॉइंटर्स ढूंढ रहा हूं। शायद मैं गलत फॉर्म को लागू कर रहा हूं, शायद मेरा सिद्धांत गलत है, जो जानता है। किसी भी मदद की सराहना की है :)एचटीएमएल 5 पुट/हटाएं विधियां क्रोम में काम नहीं कर रही हैं?

तो, कोड इस तरह दिखता है:

<!DOCTYPE html> 
<html> 

<head> 
     <title> 
      some_resource 
     </title> 
    </head> 
    <body> 
    <div class="content"> 
    <form method="put" action="/some_resource"> 
    <div> 
    <input id="title" name="title" placeholder="The Resource Title" type="text" value="" autofocus /> 
    </div> 
    <div> 
    <textarea id="body" name="body" placeholder="The Resource Body" required></textarea> 
    </div> 
    <div> 
    <input id="submit" name="submit" type="submit" value="Submit" /> 
    </div> 
    <!-- Resource Settings --> 
    <ul> 
    <li> 
    <input id="listed" name="listed" type="checkbox" value="y" /> 
    </li> 
    <li> 
    <input id="template" name="template" type="text" value="resource.html" /> 
    </li> 
    </ul> 
    </form> 
    </div> 
    </body> 
</html> 

बस एक फार्म के लिए एक बुनियादी परीक्षण। अब मैंने इसे नवीनतम उबंटू फ़ायरफ़ॉक्स (3.6.7), ओपेरा (10.60 आंतरिक), और Google से नवीनतम लिनक्स क्रोम बीटा (5.0.375.99 बीटा) पर आजमाया है। जब मैं फॉर्म जमा करता हूं, उनमें से कोई भी सर्वर पर उचित पुट विधि नहीं भेजता प्रतीत होता है। अब, मुझे विश्वास है (किसी भी विशिष्ट शोध से नहीं) कि फ़ायरफ़ॉक्स ने अभी तक इसका समर्थन नहीं किया है, और यह कि बहुत से HTML5 की तरह, यह एफएफ के अगले संस्करण के लिए निर्धारित है। ओपेरा मुझे नहीं पता, लेकिन मैं अक्सर क्रोम के साथ गति रखने के बारे में सुनता हूं। तो .. हाँ, मैं थोड़ा उलझन में हूँ।

फॉर्म सबमिट करते समय, वे यूआरएल पर जाते हैं: http://localhost:8080/some_resource?title=t&body=b&submit=Submit&template=resource.html। ध्यान दें, जैसा कि अपेक्षित है, POST बस ठीक काम करता है।

अब किसी को भी पुट विधि काम करने के लिए कोई संकेतक है? यह संभव हो सकता है कि लिनक्स के लिए बीटा को विंडोज विविधता (कुछ ऐसा लगता है जिसे मैं मानता हूं, यह है कि जब लोग क्रोम के लिए काम कर रहे थे), लेकिन मैं वास्तव में उम्मीद कर रहा हूं मेरे कार्यान्वयन के साथ एक मुद्दा है।

क्या सर्वर को PUT/DELETE का समर्थन करना है? (मैं वर्तमान में AppEngine देव सर्वर का उपयोग कर रहा हूँ)। मुझे पता नहीं .. उम्मीद है कि किसी को कुछ विचार :)

किसी भी उत्तर के लिए धन्यवाद, है ली

नोट: अन्य HTML5 सुविधाओं मैं अब तक काम कर रहे हैं परीक्षण किया है। उदाहरण के लिए, उस रूप में आप ऑटोफोकस और आवश्यक विशेषताओं को देख सकते हैं। वे क्रोम में इरादे के रूप में काम कर रहे हैं।

संपादित 1: बस स्पष्ट करने के लिए, मैं समझता हूं कि इनके लिए समर्थन स्केची है। जैसा कि मैंने पहले एक जवाब का जवाब दिया था, मुझे अन्य ब्राउज़रों में वर्तमान समर्थन की परवाह नहीं है। वर्तमान में क्रोम मैं काम करना चाहता हूं, और मुझे उम्मीद है कि आने वाली रिलीज में फ़ायरफ़ॉक्स काम करेगा (मुझे नहीं पता, मैं उन्हें सिर्फ एचटीएमएल 5 को धक्का दे रहा हूं), और मुझे ओपेरा के बारे में कोई जानकारी नहीं है।

यह सब केवल HTML5 (वेब ​​वर्कर्स, लोकल स्टोरेज, आदि) और CSS3 की नई अद्भुत दुनिया का परीक्षण और सीखने के लिए है। मुझे केवल खून बहने वाले किनारे के बारे में परवाह है, जो रक्तस्राव एज प्रौद्योगिकी से मेल खाते हैं :)

+4

'पुट' और 'DELETE' के पास HTML5 के साथ कुछ भी नहीं है; वे HTTP/1.1 विनिर्देश में परिभाषित हैं। समर्थन दोनों क्लाइंट (भेजने के लिए) और सर्वर (हैंडल करने के लिए) दोनों पर मौजूद होना चाहिए। – You

+0

हाँ, और उपयोग, जैसा कि एचटीएमएल 5 है, कुछ ऐसा है जो मैं बहुत उत्साहित हूं। सवाल यह है कि यह क्यों काम नहीं कर रहा है: /। नरक, कुछ लोग कहते हैं कि वर्तमान में गुणों का एक टन समर्थित है, लेकिन मुझे लगता है कि काम नहीं कर रहा/हटाएं। Argh –

+0

उन क्रियाओं को आधिकारिक रूप से समर्थित करने के लिए एक मसौदा है। मुझे कोई संकेत नहीं है कि यह इतना लंबा क्यों लगा, क्योंकि पुट/डिलीट उम्र के लिए HTTP का हिस्सा रहा है। अधिक जानकारी के लिए http://amundsen.com/examples/put-delete-forms/ देखें। जब तक कि मसौदा स्वीकार नहीं किया जाता है, ब्राउज़र बस कुछ और नहीं भेजेंगे लेकिन पोस्ट करें और पोस्ट करें। –

उत्तर

23

PUT DELETE <form> के लिए अब समर्थित तरीके हैं (और आप या तो अपने सभी क्षेत्रों के लिए id रों जोड़ने के लिए। जब ​​तक आप <label for या स्क्रिप्ट लक्ष्य-निर्धारण के लिए एक id जरूरत है, तो आप उन्हें छोड़ सकते हैं की जरूरत नहीं है।) और टैग। HTML5 differences from HTML4 (1 9 अक्टूबर 2010)

+4

सिर के लिए धन्यवाद .. कोई विचार है कि तब उचित आरईएसटी लागू किया जाना चाहिए? –

+8

पुट और डिलीट समर्थन को

की "विधि" विशेषता के मान के रूप में जोड़ने के संदर्भ में HTML5 spec से हटा दिया गया है, उदाहरण के लिए। <फॉर्म विधि = "डाल">। लेकिन HTTP 1 के हिस्से के रूप में पुट और डिलीट बहुत ज़िंदा और अच्छी तरह से हैं।1 spec, जिसका अर्थ है कि एक सर्वर अभी भी उनके लिए (आरईएसटी कॉल के लिए) सुन सकता है, और मेरा मानना ​​है कि ब्राउज़र को अजाक्स के माध्यम से PUT भेजने और हटाने के लिए अभी भी संभव है (http://stackoverflow.com/questions/165779/ देखें हैं-डाल-हटाना सिर-आदि-तरीकों से उपलब्ध में सबसे वेब ब्राउज़र) –

3

एक "एचटीएमएल 5" एक मोनोलिथिक मानक के रूप में नहीं है।

इनमें से कुछ HTML4 के समान है। इनमें से कुछ तकनीकी रूप से गैर-मानक सुविधाओं को प्रमाणित कर रहे हैं कि प्रत्येक ब्राउज़र लागू होता है और हर किसी के लिए वर्षों से उपयोग किया जाता है। इसमें से कुछ नए एक्सटेंशन हैं जो ब्राउज़र विक्रेता ज्यादातर सहमत हैं और कार्यान्वयन के विभिन्न चरणों में हैं। उदाहरण के लिए, autofocus

लेकिन फिर उनमें से कुछ स्पॉटली-लागू सामग्री है जो इसे मानकीकृत करने से पहले बदलने की संभावना है, और इसमें से कुछ यादृच्छिक बोनस विशेषताएं हैं जो WHATWG विचारों में कुछ यादृच्छिक लोग अच्छे होंगे, लेकिन जो कि समर्थन से कोई संकेत नहीं दिखाता है ब्राउज़र लेखकों।

इस श्रेणी की तुलना में कम से कम इस श्रेणी की तुलना में कम है (प्रारंभिक WHATWG ड्राफ्ट लगभग एक्सएचटीएमएल 2.0 के रूप में आर्किटेक्ट-खगोल विज्ञान बुरेपन से भरे हुए थे), लेकिन अभी भी कुछ और वर्तमान में विस्तारित फॉर्म सबमिशन प्रकार (PUT/विधियों को हटाएं और कुछ गैर-HTTP क्रियाएं) उस श्रेणी में हैं। प्रत्येक ब्राउज़र वर्तमान में method="put" को अनदेखा करता है, इसके बजाय डिफ़ॉल्ट एफ़आर मान get पर वापस आ रहा है।

शायद एक दिन ब्राउज़र इसे लागू करेंगे। या शायद यह spec से excised हो जाएगा। एचटीएमएल 5 अभी भी समाप्त होने का एक लंबा रास्ता है। अभी के लिए, बस POST सभी की तरह उपयोग करें। यह बिल्कुल शुद्ध भरोसेमंद नहीं है, लेकिन फिर यह वास्तव में आपको कुछ विशेष नहीं मिलता है।

<input ... autofocus /> 

उपयोग HTML या XHTML वाक्यविन्यास, लेकिन उन्हें मिश्रण नहीं है। एक्सएचटीएमएल 5 के लिए autofocus="autofocus", या एचटीएमएल 5 के लिए स्वयं बंद / खोना।

<input id="submit" name="submit" type="submit" value="Submit" /> 

बेस्ट बचने के लिए एक बटन है कि, form.submit() विधि के साथ संघर्ष से बचने के लिए नामकरण। सबमिट बटन पर आपको name की आवश्यकता नहीं है जब तक कि आपको एक विशेष बटन पर क्लिक करने की आवश्यकता न हो, वैसे भी।

+0

तो क्रोम को PUT/DELETE का समर्थन करने के बारे में यह क्या बात है? इसे स्पष्ट रूप से रखने के लिए, मैं व्यक्तिगत परियोजनाओं पर इनका उपयोग कर रहा हूं और नई HTML5 सुविधाओं (वेब ​​श्रमिकों, आदि) सीखने के लिए, इसलिए मुझे कोई परवाह नहीं है कि मैं धूल में अन्य ब्राउज़रों को छोड़ दूं। मैं क्रोम को काम करने की पूरी उम्मीद कर रहा था, फ़ायरफ़ॉक्स बिल्कुल काम नहीं करता (जब तक यह अपडेट नहीं होता है, जो अधिक HTML5 समर्थन लाता है), और .. ओपेरा के बारे में कौन जानता है। आईई संभोग, क्रोम फ्रेम की आवश्यकता होगी। मैं बस इरादे के अनुसार काम करने के तरीकों को चाहता हूं .. क्यों क्रोम के बारे में बात PUT/DELETE का समर्थन करती है? क्या मैंने उन्हें गलत समझा? –

+0

जहां तक ​​बंद (/>) और नामकरण (सबमिट) जाना है, वह फॉर्म जनरेटर लाइब्रेरी (पायथन के डब्ल्यूटीएफम्स) से है और मुझे अभी तक यह देखने के लिए नहीं है कि क्लोजिंग टैग कैसे बदलें। सबमिट बटन के नामकरण के रूप में, जो आसानी से बदल सकता है। फिर, यह काम करने के लिए सिर्फ एक परीक्षण है। बाकी सब कुछ कोई फर्क नहीं पड़ता :) –

+0

मैंने इस तरह की बात नहीं सुनी है, लेकिन मुझे संदेह होगा कि, जैसा कि @ आप उल्लेख करते हैं, यह 'XMLHttpRequest' के साथ हो सकता है, जो कुछ पुराने ब्राउज़रों को छोड़कर इन विधियों को भेजने की अनुमति देता है। – bobince

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