हालांकि इस सवाल का जवाब देने वाले अन्य लोग (दुख की बात) यह सही है कि यह जानकारी ब्राउज़र द्वारा हमसे छिपाई गई है, मैंने सोचा कि मैं एक वर्कअराउंड पोस्ट करूंगा, जिसके साथ मैं आया था:
मैंने अपने सर्वर ऐप को कस्टम रिस्पांस हेडर ( X-Response-Url
) युक्त URL सेट करने के लिए कॉन्फ़िगर किया था, जिसमें आग्रह किया गया था। जब भी मेरे अजाक्स कोड को एक प्रतिक्रिया मिलती है, तो xhr.getResponseHeader("x-response-url")
यह परिभाषित करता है कि क्या परिभाषित किया गया है, इस मामले में यह इसे उस url से तुलना करता है जिसे यह मूल रूप से अनुरोध करता है $.ajax()
। यदि तार अलग होते हैं, तो मुझे पता है कि एक पुनर्निर्देशित था, और इसके अलावा, हम वास्तव में किस यूआरएल पर पहुंचे थे।
यह कुछ सर्वर-साइड मदद की आवश्यकता का दोष है, और यह भी टूट सकता है कि क्या राउंड ट्रिप के दौरान url मुंग हो जाता है (मुद्दों के उद्धरण / एन्कोडिंग आदि के कारण) ... लेकिन 99% मामलों में, ऐसा लगता है काम हो गया।
सर्वर की ओर, मेरा विशिष्ट मामला पिरामिड वेब फ्रेमवर्क का उपयोग करते हुए एक अजगर आवेदन था, और मैंने निम्नलिखित स्निपेट का उपयोग किया:
import pyramid.events
@pyramid.events.subscriber(pyramid.events.NewResponse)
def set_response_header(event):
request = event.request
if request.is_xhr:
event.response.headers['X-Response-URL'] = request.url