我正在調查本地(file:// access)html應用程序的.NET WCF域服務的跨域使用情況。該應用程序正在使用jQuery進行AJAX調用。jQuery.Ajax「訪問被限制的URI被拒絕」的解釋?
如果服務器上沒有身份驗證(即使用匿名身份驗證),我已經使用CORS「Access-Control-Allow-Origin:*」頭以JSON格式成功檢索了JSON格式的數據,並且沒有頭。
現在我試圖瞭解身份驗證和CORS頭與JSON(而不是JSONP)格式數據的位置時的行爲。
下面的jQuery代碼會向服務器發送一個請求,服務器又會響應「HTTP/1.1 401 Unauthorized」。
$.ajax({
url: myUrl,
dataType: 'json',
cache: false,
complete: function() { /* do stuff */ },
timeout: 5000,
data: myData
});
下面的jQuery代碼不會向服務器發出請求,並立即拋出一個異常「訪問受限制的URI被拒絕」,代碼1012
$.ajax({
url: myUrl,
dataType: 'json',
cache: false,
complete: function() { /* do stuff */ },
timeout: 5000,
username: "chris",
password: "password",
data: myData
});
我的理解,並期望第一種情況。任何人都可以向我解釋第二種情況下的例外情況嗎?我本來希望至少可以提出這個請求。
編輯:Grrr,這是在FF 10.0.2。 Chrome似乎按照我的預期行事,這是FF問題嗎?
我意識到我可以用jQuery.ajax回調函數之一來捕獲錯誤,或者使用帶有JSONP的回調函數 - 那是您的意思嗎?我的問題真的只是爲什麼(也許只是Firefox)沒有提出請求,而是在這種情況下引發錯誤。 – Chris 2012-02-28 11:26:49