我正在使用Sencha Touch 2.1.0。我正在進行HTTP GET調用。這是一個CORS請求。因此,它正在按照預期發送Pre-flight HTTP OPTIONS命令。HTTP選項飛行前請求裝入在Chrome中掛起狀態中取消
我在我的服務器上安裝了CORS過濾器並進行了配置。來自我的代碼的電話一直很好,直到昨天。今天突然停止加載數據。當我檢查網絡在Chrome電話,我看到OPTIONS方法顯示爲
法「取消了裝載」:OPTIONS
狀態文本:「加載取消」
類型:待定
發起者:Connection.js :319
我在第一次配置CORS過濾器時遇到過類似的問題。當我清除瀏覽器緩存時,它開始工作。這一次,我不確定爲什麼突然停止工作。即使在瀏覽器中清除緩存和歷史記錄時,它也沒有得到修復。
如果我在Firefox中使用HTTPRequestor進行同樣的確切調用,它的效果非常好。這是通話。由於保密原因,我已經屏蔽了網址。
OPTIONS http://myurl/rest/items?_dc=1358304888220&page=1&start=0&limit=25 HTTP/1.1
Access-Control-Request-Method: GET
Origin: http://localhost:8080
Access-Control-Request-Headers: accept, origin, x-requested-with
同樣的確切請求給了我一個HTTPRequestor的非常好的響應。下面是結果:在商店
OPTIONS http://myurl/rest/items?_dc=1358304888220&page=1&start=0&limit=25
Access-Control-Request-Headers: accept, origin, x-requested-with
Access-Control-Request-Method: GET
Origin: http://localhost:8080
-- response --
200 OK
Date: Wed, 16 Jan 2013 03:19:27 GMT
Server: Apache-Coyote/1.1
Access-Control-Allow-Origin: http://localhost:8080
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: HEAD, GET, POST, OPTIONS
Access-Control-Allow-Headers: X-Requested-With, Origin, Accept, Content-Type
Content-Length: 0
Strict-Transport-Security: max-age=15768000, includeSubDomains
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
煎茶代碼撥打這通電話:
proxy: {
type: 'ajax',
method: 'GET',
url: 'http://myurl/rest/items',
withCredentials: true,
useDefaultXhrHeader: false,
disableCaching: false,
headers: {
"Accept": "application/json"
},
failure: function(response) {
if (response.timedout) {
Ext.Msg.alert('Timeout', "The server timed out :(");
} else if (response.aborted) {
Ext.Msg.alert('Aborted', "Looks like you aborted the request");
} else {
Ext.Msg.alert('Bad', "Something went wrong with your request");
}
},
success: function(response){
Ext.Msg.alert(response.responseText);
}
},
autoLoad: true,
請幫助我明白,我怎麼能解決這個問題。
您可以顯示您用來提出請求的JavaScript代碼嗎?你正在設置'.withCredentials = true;'? – monsur
@Monsur,我剛剛添加了用於進行此調用的sencha代碼。有憑證是真的。該代碼實際上一直運行到前一天,並且突然停止工作。我不確定哪裏出了問題。我沒有在服務器端進行任何更改。 –