2012-07-19 22 views
2

在我的代碼,我有這樣的:HTTPS導致立即中止,而HTTP是好的

A = Backbone.Model.extend({ 
    // url : "http://localhost:3000/a" 
    url : "https://localhost:3000/a" 
}); 

var a = new A(); 
a.save(); 

當我使用HTTP URL,一切都很好,很正常; 當我使用HTTPS URL,但是,我得到以下錯誤

{readyState : 0, responseText : "", status : 0, statusText : ""} 

和Firebug的「網絡」選項卡顯示0請求

添加到古怪,當我使用取其他兩款車型,無論是給「中止」錯誤,但螢火蟲顯示請求發生和失敗,而不是0請求如上。

回答

1

您的網站是通過HTTPS從本地主機上的端口3000提供服務的嗎?

如果不是,那麼默認情況下這不起作用。 CORS可防止在沒有額外工作的情況下處理請求,除非協議(http或https),域(它的所有部分)和端口匹配。

+0

啊,我打了它,但猜不到;但我希望有一個比在網絡標籤中顯示「0請求」更好的錯誤消息,如果您不想支持IE,則會出現一個空的ajax錯誤對象 – Max 2012-07-19 18:29:41

+0

,如果您「擁有」服務器端,這很容易修復。但是,有時候,你會得到一些奇怪的DOM錯誤信息,有時候什麼都沒有。 – tkone 2012-07-19 20:31:55