今天上午我們有一個有趣的問題 - 這個問題本身是不相關這裏的細節,我已經定了,但我卻碰到一些奇怪的事情,對我來說,關於jQuery的。爲什麼這個jQuery.ajax不會引發錯誤?
我國內建設的網站上僅HTTPS運行,以便Apache設置爲重定向任何傳入HTTP請求的HTTPS等同。這個重定向工作正常。但是,我在我的軟件中的錯誤,我試圖發送以下Ajax請求:
jQuery.ajax({ type: "PUT",
url: "http://somewhere.com/cmdt/todo_lists/8457/toggle",
data: { deployment_id: 827},
dataType: "script"});
我明白,這會失敗 - 我沒事用jQuery不想遵循重定向。但實際的行爲更加怪異:我從來沒有看到xhr要求完全消失!並沒有JavaScript錯誤!它只是失敗,默默地。如果我將url更改爲https或相對路徑,它可以正常工作,沒有問題。我的問題是,爲什麼不嘗試發送請求?爲什麼它沒有提出錯誤?
這可能是單一來源策略踢,默默失敗。你應該在Chrome等瀏覽器雖然 – 2011-06-09 13:43:35
這不是jQuery的不_wanting_遵循重定向得到一個錯誤,這是在工作跨域策略:你**不能**請求(阿賈克斯)一個'https'從資源'http'頁面,反之亦然。 – 2011-06-09 13:45:33