XMLHTTP在同源策略下是不允許跨域請求數據的,即不能從一個域(協議+主機+端口號)向另一個域請求數據。這是出于安全考慮,以防止惡意網站通過跨域請求獲取用戶的敏感信息。
但可以通過以下方式實現跨域請求數據:
使用CORS(跨域資源共享):服務器端允許跨域請求,在響應頭中設置Access-Control-Allow-Origin字段指定允許的源。前提是瀏覽器支持CORS。
使用JSONP(JSON with Padding):通過動態創建script標簽,將請求數據的URL作為src屬性值,服務器返回的數據包裹在回調函數中返回給客戶端。
使用代理服務器:在同源服務器端設置代理,向目標服務器發起請求并將響應返回給客戶端。
使用WebSocket:WebSocket可以用于跨域通信,但需要服務器端支持WebSocket協議。
總之,雖然XMLHTTP自身不支持跨域請求數據,但可以通過上述方法實現跨域請求數據。