Tại sao Javascript xử lý các URL tương đối khác với HTML chuẩn? Hãy nghĩ đến URL sau (hoặc chỉ duyệt qua URL): http://en.wikipedia.org/wiki/Rome. Mở Firebug console (hoặc một bảng điều khiển Javascript) và nhập như sau:Các URL tương đối trong các yêu cầu AJAX
var x = new XMLHttpRequest();
x.open("GET", "foo", true);
x.send("bar");
Theo hệ thống của tôi yêu cầu được gửi tới "http://en.wikipedia.org/wiki/foo". "Rome" trong URL chỉ đơn giản là bỏ qua. Yêu cầu tương tự với dấu gạch chéo ở URL ("http://en.wikipedia.org/wiki/Rome/") gắn thêm "foo" vào URL đầy đủ.
Điều này có vẻ khiến việc mã hóa URL chính xác trong Javascript trở nên khó khăn. Có bất kỳ thư viện Javascript nào giúp khắc phục vấn đề này không?
(Tôi hỏi một tương tự question trước đây, nhưng hơn jQuery cụ thể, nơi này cũng sẽ xảy ra. Tôi hy vọng tôi nhận được một câu trả lời tốt hơn với câu hỏi độc lập có phần thư viện hơn này.)
@Zardoz Bạn có thể gửi liên kết để mà khác câu hỏi tương tự? –
Tất nhiên ... Tôi cũng đã chỉnh sửa văn bản có liên kết đến câu hỏi đó: http://stackoverflow.com/questions/4754559/relative-url-does-not-get-resolved-correctly-by-jquery – Zardoz
@Zardoz Liên kết hoạt động theo cùng một cách. Nếu URL trang là hxxp: //en.wikipedia.org/wiki/Rome và trên trang là neo này: '', thì nhấp vào liên kết sẽ mở URL này: hxxp: // en.wikipedia.org/wiki/foo –