2011-10-28 12 views
10

के अपेक्षित स्थिति कोड के बजाय HTTP स्थिति कोड 200 पास करता है मेरे पास एक सर्वर है जो एक ही यूआरएल से HTTP स्थिति कोड 200, 201, और 202 देता है। क्रोम में, मैंने नेटवर्क डिबगिंग पैनल से पुष्टि की है कि स्टेटस कोड वह है जो मैं उम्मीद करता हूं (यानी 200, 201 या 202)। मैं अगले चरण को निर्धारित करने के लिए उस स्थिति कोड पर भरोसा करता हूं।

मुझे उम्मीद है कि jQuery (संस्करण 1.5.2) के लिए कॉलबैक AJAX अनुरोध करता है कि सर्वर द्वारा भेजे गए स्टेटस कोड पर jqxhr.status सेट करें। हालांकि, सर्वर कोड भेजा गया कोड हमेशा 200 है, भले ही सर्वर द्वारा भेजा गया कोड 201 या 202 है।

दूसरे शब्दों में, निम्न कोड Code: 200 प्रिंट करता है चाहे सर्वर क्या भेजता है।

$.get(url, {}, function (data, textStatus, xhr) { 
    alert("Code: " + xhr.status); 
}); 

क्यों कैसे एक $.get या $.ajax के लिए एक jQuery AJAX कॉलबैक में वास्तविक स्थिति कोड प्राप्त कर सकते हैं हो रहा है, और अधिक महत्वपूर्ण बात यह?

पढ़ने के लिए धन्यवाद।

+0

कोई भी मौका आप JSONP या क्रॉस-डोमेन 'GET' अनुरोध का उपयोग कर रहे हैं? –

+0

शायद यह कुछ मदद की होगी: http://bugs.jquery.com/ticket/8211 – Scoobler

+0

KrisIvanov: कोई JSONP या क्रॉस-डोमेन नहीं। यह सामान्य प्रकार का अनुरोध है। –

उत्तर

2

जो मैंने अनुभव किया है उससे jQuery में प्रतिक्रिया में वास्तविक स्थिति कोड को संभालने के लिए बहुत अच्छी तरह से स्थापित नहीं किया गया है। आप कुछ अच्छी पुरानी नंगे हड्डियों जेएस का उपयोग करके मैन्युअल AJAX कॉल करने का प्रयास कर सकते हैं और स्थिति को स्वयं संभाल सकते हैं।

यहां ऐसा करने के तरीके पर कुछ ट्यूटोरियल दिए गए हैं।

http://www.degraeve.com/reference/simple-ajax-example.php

http://www.w3schools.com/ajax/default.asp

request.status वह जगह है जहाँ आप अपने अनुरोध वस्तु में स्थिति कोड उपयोग करने में सक्षम होना चाहिए। यहां एक और पृष्ठ है जो अनुरोध की स्थिति के बारे में और भी अधिक जानकारी प्राप्त करने के तरीके के बारे में थोड़ा सा दिखा रहा है।

http://www.ibm.com/developerworks/web/library/wa-ajaxintro3/

आशा है आप इसे कील मदद करता है कि!

+0

Thumallen सही है, यह या तो सब कुछ या कुछ भी नहीं है। Jquery AJAX के माध्यम से रीडायरेक्ट पकड़ना अप्रिय है – Mikhail