2011-11-08 27 views
13

bir sayfa (URL), ben XMLHttpRequest ile talep yok, ama> ---, O XMLHttpRequest'te yanıt url'si nasıl alınır?

talep eden başka bir sayfaya isteği yönetiyor page.php
istenen url'den yanıtı almıyorum > directedpage.php

ve sorudan tepkisini daha alma Ben tepki url alabilirim nasıl? (yönlendirilmiş sayfa.php örnek)

cevap

24

Son URL (tüm yönlendirmeleri izledikten sonra), XMLHttpRequest örneğinin responseURL attribute adresinde bulunabilir. Bu özellik, yeni ve sadece Ağustos ayında Eylül 2014 [ref] ve Chrome 37.0.2031.0 kararlı yılında Firefox 32 stabil desteklenirse 2014 [ref] (ve muhtemelen de Opera 24). IE 11 veya Safari 7 ve daha eski tarayıcılarda responseURL (henüz) desteklenmemektedir. Bu tarayıcılar için, önceki cevabı hala geçerlidir:

XMLHttpRequest otomatik bir özellik servis URL'ler kaydetmeden, yönlendirmeleri takip eder. Location başlığı, .getResponseHeader() aracılığıyla alınamaz.

Referanslar:

+0

Tamam, ama birisi neden biliyor? Güvenlik ? Yanıt URL'si ile hangi saldırı mevcut olmalıdır? (Yalnızca yanıt URL'si orijinal URL'den aynı kaynaktaysa yanıt URL'si verilmesi) –

+0

@JulienPalard [Belirtim] (http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send() -method) yönlendirmelerin şeffaf bir şekilde takip edilmesini gerektirir. –

+0

@RobW: Anlayamıyorum, eğer buna sahibim 'A = 302 - B = 302 -> C = 302 -> A = 200'. Hangi responseURL dönecek? C veya A'nın ᴜʀʟ? – user2284570

İlgili konular