2
我對在javascript寫幾句跟蹤。這個跟蹤器只是獲取當前訪問的網站所有需要的信息。它也跟蹤阿賈克斯事件。對方是一個java程序,它與web服務器位於同一臺機器上,但正在偵聽不同的端口。由於相同的原始策略(不同端口),我的JavaScript程序應該無法發送數據。在Chrome中的控制檯告訴我:同源策略違規而得到的數據發送
XMLHttpRequest cannot load http://127.0.0.1:8082/posts. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8081' is therefore not allowed access.
我不明白的是,數據被髮送到服務器!我仔細檢查了不同的機器上(不同的IP)。我只是想明白爲什麼。我沒有自己寫發送方法,這就是爲什麼我沒有真正理解它。
//sending data to server-tracker
function sendData(data)
{
console.log("Sending data: ");
console.log(data);
var xhr = window.XMLHttpRequest
? new window.XMLHttpRequest()
: window.ActiveXObject
? new ActiveXObject('Microsoft.XMLHTTP')
: null;
xhr.open('POST', "http://127.0.0.1:8082/posts", true);
xhr.send(data);
}
感謝您的幫助。
同源策略只會停止響應。如果沒有的請求沒有任何反應,ERGO它交付使用。如果你希望阻止來自其他領域的要求,那麼你必須處理在服務器應用程序自己。 – Archer
我真的不知道,謝謝! – mudvayne
不客氣:) – Archer