2012-09-12 20 views
5

मेरे पास एक सर्वर एंडपॉइंट पर एक AJAX कॉल है जो एक पृष्ठ पर एक 301 रीडायरेक्ट करता है, लेकिन पीछे की ओर स्लैश के साथ।301 AJAX पर पुनर्निर्देशित - पुनर्निर्देशित?

क्या ब्राउज़र AJAX के साथ कॉल करते समय रीडायरेक्ट का पालन करता है या क्या यह उन्हें अनदेखा करता है? मेरे मामले में यह उनका पालन नहीं करता है, लेकिन मुझे लगा कि यह सर्वर कॉन्फ़िगरेशन से कुछ हो सकता है।

उत्तर

4

यदि आप jquery का उपयोग कर रहे हैं तो आप इसे लागू करने के लिए नीचे दिए गए प्रश्नों को देख सकते हैं। डिफ़ॉल्ट jQuery (और अजाक्स के साथ सबसे पुस्तकालयों) का पालन नहीं करते द्वारा डिफ़ॉल्ट रूप से पुनर्निर्देश:

How to manage a redirect request after a jQuery Ajax call

How to prevent ajax requests to follow redirects using jQuery

handle jquery ajax redirect

+1

ठीक है इसलिए jQuery रीडायरेक्ट का पालन नहीं करता है, मैं देखता हूं। धन्यवाद। –

+7

उम, नहीं। एक्सएचआर पारदर्शी रूप से रीडायरेक्ट का पालन करेगा। –

+1

सभी मामलों में नहीं। मुझे एक 301 रीडायरेक्ट सेटअप मिला है और एफएफ उनका पालन नहीं करता है। हालांकि, क्रोम करता है। – threejeez

3

हो सकता है कि इस सवाल का जवाब है एक छोटा सा देर से, लेकिन मैं था AJAX अनुरोध पर 301 प्रतिक्रिया के साथ एक ही समस्या। समाधान बहुत आसान था:

RewriteRule ^([^/]\w+)/?$ index.php?%{QUERY_STRING} [L,E=MODULE:$1] 

आपका एक्सएचआर-अनुरोध यूआरएल इस तरह someting दिखता है::

/this/is/a/canonical/url + '?param=1&param=2...' 

करने के लिए 301 स्थायी रूप से ले जाया गया यह नेतृत्व करेंगे

अपाचे पुनर्लेखन नियम कुछ इस तरह है यदि आप प्रत्यक्ष फ़ाइल कॉल (fi * .php) का उपयोग नहीं करते हैं और कैननिकल यूआरएल को फिर से लिखते हैं (इसके बजाय फाई * .php के बिना निर्देशिका-पथ की तरह दिखता है)।

हल करने के लिए इस समस्या को सिर्फ इस तरह एक जोड़ें/अपने एक्सएचआर-अनुरोध- URL करने के लिए:

/this/is/a/canonical/url + '/' + '?param=1&param=2...' 

हो सकता है कि यह किसी को मदद मिलेगी।

+0

यह मेरे लिए तय है, धन्यवाद –

-1

jQuery के एपीआई दस्तावेज़ (http://api.jquery.com/jQuery.ajax/) के अनुसार, async:false (उर्फ सिंक मोड) क्रॉस-डोमेन और dataType: "jsonp" अनुरोधों का समर्थन नहीं करता है।

+2

क्षमा करें, लेकिन इस सवाल के साथ क्या करना है? –

+0

@EduardLuca मुझे खेद है, आपका पुनर्निर्देशन डोमेन को पार नहीं करता है। – GlacJAY

+0

मुझे किसी अन्य डोमेन पर जाने की आवश्यकता नहीं है, रीडायरेक्ट एक ही यूआरएल पर होता है लेकिन पीछे की ओर स्लैश के साथ होता है। –

2

मुझे यह समस्या भी थी और पिछली स्लैश के बारे में सुझाव मुझे सोच रहा था ... मेरे पास मेरे वेब में एक पुनर्लेखन नियम था। सब कुछ लोअरकेस बनाने के लिए कॉन्फिग करें और यह मेरी AJAX कॉल को गड़बड़ कर रहा था। मैं GetResults (जो 301 के रूप में दिखाया गया था) के लिए पोस्ट कर रहा था और मेरा पुनरावर्तक (किसी अज्ञात कारण के लिए?) इसे कम-चरण वाले गेटर्सल्ट में बदल रहा था जिसके परिणामस्वरूप 404.

आशा है कि यह किसी और की मदद कर सकता है।

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