Tôi thấy câu hỏi của bạn thú vị, nhưng vấn đề nói chung có vẻ như tôi hiểu lầm hơn. Ít nhất tôi sẽ cố gắng giải thích sự hiểu biết của tôi về vấn đề.
Chuyển hướng im lặng (trong suốt) là một phần của XMLHttpRequest
đặc điểm kỹ thuật ( đặc biệt là xem ở đây các từ "... trong suốt theo chuyển hướng ..."). Tiêu chuẩn chỉ đề cập rằng tác nhân người dùng (trình duyệt web) có thể ngăn chặn hoặc thông báo về một số loại chuyển hướng tự động, nhưng nó không phải là một phần của XMLHttpRequest
. Đó là một phần của cấu hình máy khách HTTP (cấu hình hệ điều hành) hoặc cấu hình trình duyệt web. Vì vậy, jQuery.ajax
không thể có bất kỳ tùy chọn nào mà bạn có thể ngăn chuyển hướng.
Bạn có thể thấy rằng chuyển hướng HTTP là một phần của giao thức HTTP và không phải là một phần của XMLHttpRequest
. Vì vậy, nó ở một cấp độ trừu tượng khác hoặc ngăn xếp mạng. Ví dụ: dữ liệu từ XMLHttpRequest
có thể được truy xuất từ proxy HTTP hoặc từ bộ nhớ cache của trình duyệt cục bộ và đó là một phần của giao thức HTTP. Chủ yếu là máy chủ cung cấp dữ liệu chứ không phải máy khách có thể ảnh hưởng đến bộ nhớ đệm.
Bạn có thể so sánh yêu cầu từ câu hỏi của mình với yêu cầu ngăn chặn việc thay đổi địa chỉ IP của máy chủ web hoặc thay đổi đường dẫn IP trong quá trình giao tiếp. Tất cả những điều có thể thú vị trong một số trường hợp, nhưng có những phần ở cấp độ khác của ngăn xếp giao tiếp và không thể được quản lý bởi jQuery.ajax
hoặc XMLHttpRequest
.
Các XMLHttpRequest
tiếng nói tiêu chuẩn cấu hình khách hàng có thể có các tùy chọn mà ngăn chặn chuyển hướng. Trong trường hợp "Microsoft world", mà tôi biết rõ hơn, bạn có thể xem chức năng WinHttpSetOption có thể được sử dụng để đặt WINHTTP_OPTION_DISABLE_FEATURE
tùy chọn với WINHTTP_DISABLE_REDIRECTS
giá trị. Một cách khác là việc sử dụng WINHTTP_OPTION_REDIRECT_POLICY
tùy chọn với WINHTTP_OPTION_REDIRECT_POLICY_NEVER
giá trị. Một tính năng nữa mà người ta có thể sử dụng trong Windows là chức năng WinHttpSetStatusCallback có thể đặt chức năng gọi lại nhận được một số thông báo như WINHTTP_CALLBACK_FLAG_REDIRECT
.
Vì vậy, có thể thực hiện các yêu cầu của bạn nói chung, nhưng giải pháp có thể sẽ không độc lập với hệ điều hành hoặc trình duyệt web và không ở cấp độ jQuery.ajax
hoặc XMLHttpRequest
.