Trong khi các folks khác, những người đã trả lời câu hỏi này được (buồn bã) đúng khi cho rằng thông tin này được ẩn từ chúng tôi bởi trình duyệt, tôi nghĩ rằng tôi muốn gửi một workaround tôi đã đưa ra:
tôi cấu hình ứng dụng máy chủ của tôi để đặt tiêu đề phản hồi tùy chỉnh (X-Response-Url
) chứa url được yêu cầu. Bất cứ khi nào mã ajax của tôi nhận được phản hồi, nó sẽ kiểm tra nếu xhr.getResponseHeader("x-response-url")
được xác định, trong trường hợp này, nó so sánh nó với url mà ban đầu nó yêu cầu qua $.ajax()
. Nếu các chuỗi khác nhau, tôi biết có một chuyển hướng và thêm vào đó, chúng tôi thực sự đã truy cập vào url nào.
Điều này có nhược điểm yêu cầu một số trợ giúp phía máy chủ và cũng có thể bị hỏng nếu url bị xóa (do vấn đề trích dẫn/mã hóa v.v.) trong suốt chuyến đi ... nhưng đối với 99% trường hợp, điều này dường như hoàn thành công việc.
Về phía server, trường hợp cụ thể của tôi là một ứng dụng python sử dụng khuôn khổ web Pyramid, và tôi đã sử dụng đoạn mã sau:
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
Nguồn
2014-07-12 18:19:21
Bộ luật này sẽ không bao giờ làm việc bro ... – brothers28
Chúc may mắn với điều đó –