ฉันคิดว่าคำถามของคุณน่าสนใจ แต่ปัญหาโดยรวมดูเหมือนว่าฉันจะเข้าใจผิดมากกว่า อย่างน้อยฉันจะพยายามอธิบายความเข้าใจของฉันเกี่ยวกับปัญหา
การเปลี่ยนเส้นทางแบบเงียบ (โปร่งใส) เป็นส่วนหนึ่งของXMLHttpRequest
ข้อกำหนด (ดูที่นี่โดยเฉพาะคำว่า "... ทำตามการเปลี่ยนเส้นทางอย่างโปร่งใส ... ") กล่าวถึงมาตรฐานเดียวที่ตัวแทนผู้ใช้ (เว็บเบราว์เซอร์) สามารถป้องกันหรือแจ้งของบางชนิดของการเปลี่ยนเส้นทางโดยอัตโนมัติ XMLHttpRequest
แต่มันไม่ได้เป็นส่วนหนึ่งของ เป็นส่วนของการกำหนดค่าไคลเอ็นต์ HTTP (การกำหนดค่าระบบปฏิบัติการ) หรือการกำหนดค่าเว็บเบราว์เซอร์ ดังนั้นจึงjQuery.ajax
ไม่มีตัวเลือกใดที่คุณสามารถป้องกันการเปลี่ยนเส้นทางได้
คุณจะเห็นว่าการเปลี่ยนเส้นทาง HTTP เป็นส่วนหนึ่งของโปรโตคอล HTTP XMLHttpRequest
และไม่ใช่ส่วนหนึ่งของ ดังนั้นมันจึงอยู่ในอีกระดับของนามธรรมหรือเครือข่ายสแต็ก ตัวอย่างเช่นข้อมูลจากXMLHttpRequest
สามารถดึงจากพร็อกซี HTTP หรือจากแคชของเบราว์เซอร์ในเครื่องและเป็นส่วนหนึ่งของโปรโตคอล HTTP ส่วนใหญ่เป็นเซิร์ฟเวอร์ที่ให้ข้อมูลและไม่ใช่ไคลเอนต์ที่มีผลต่อการแคช
คุณสามารถเปรียบเทียบข้อกำหนดจากคำถามของคุณกับข้อกำหนดเพื่อป้องกันการเปลี่ยนที่อยู่ IP ของเว็บเซิร์ฟเวอร์หรือการเปลี่ยนเส้นทาง IP ระหว่างการสื่อสาร ทุกสิ่งที่สามารถที่น่าสนใจในบางสถานการณ์ แต่มีบางส่วนของระดับของสแต็คการสื่อสารอื่นและไม่สามารถจัดการได้โดยหรือjQuery.ajax
XMLHttpRequest
XMLHttpRequest
กล่าวว่าการกำหนดค่ามาตรฐานลูกค้าสามารถมีตัวเลือกซึ่งจะช่วยป้องกันการเปลี่ยนเส้นทาง ในกรณีของ "Microsoft world" ซึ่งฉันรู้ดีกว่าคุณสามารถดูที่ฟังก์ชันWinHttpSetOptionซึ่งสามารถใช้เพื่อตั้งค่าWINHTTP_OPTION_DISABLE_FEATURE
ตัวเลือกด้วยWINHTTP_DISABLE_REDIRECTS
ค่า อีกวิธีหนึ่งคือการใช้WINHTTP_OPTION_REDIRECT_POLICY
ตัวเลือกที่มีWINHTTP_OPTION_REDIRECT_POLICY_NEVER
ค่า หนึ่งคุณลักษณะเพิ่มเติมที่หนึ่งที่สามารถใช้ในการ Windows เป็นWinHttpSetStatusCallbackWINHTTP_CALLBACK_FLAG_REDIRECT
ฟังก์ชั่นที่สามารถตั้งค่าฟังก์ชั่นการโทรกลับได้รับการแจ้งเตือนบางอย่างเช่น
ดังนั้นจึงเป็นไปได้ที่จะทำใช้ความต้องการของคุณในทั่วไป แต่การแก้ปัญหาจะต้องอาจจะไม่ได้เป็นอิสระจากระบบการดำเนินงานหรือเว็บเบราเซอร์และจะไม่ได้อยู่ในระดับหรือjQuery.ajax
XMLHttpRequest