2014-05-16 34 views
0

我使用的是azure Mobile服務版本「MobileServices.Web-1.1.5.min.js」,當我更新數據庫中的表時,我在調試控制檯(「 CHROME「)拒絕獲取不安全的標題「ETag」

> Refused to get unsafe header "ETag" MobileServices.Web-1.1.5.min.js:2 
> getItemFromResponse MobileServices.Web-1.1.5.min.js:2 (anonymous 
> function) MobileServices.Web-1.1.5.min.js:2 c 
> MobileServices.Web-1.1.5.min.js:2 (anonymous function) 
> azureService.js?bust=1400282269337:10 r.onreadystatechange 

這並沒有發生在舊版本的MobileServices上。

如何解決此問題?

在此先感謝。

回答

1

簡而言之,你無法做任何事情來糾正它。

此錯誤依賴於瀏覽器實現,您可以放心地忽略它。它與移動服務中的CORS配置有關。當對錶的更新成功完成時,MobileServices將更新的對象發送迴響應中。響應標題之一是「ETag」,一些瀏覽器/版本錯誤地認爲它是危險的。據我所知,你無法通過代碼讓控制檯錯誤消失。

如果您在Firefox中運行相同的確切代碼,您將不會收到錯誤消息。

1

可能只是創建一個PHP「代理」,使用cURLfile_get_content來獲取遠程內容。

您可以添加標頭Access-Control-Allow-Origin: *或用您的域名替換*。最後一件事是限制頭的曝光Access-Control-Expose-Headers

例如,如果您選擇使用響應access-control-expose-headers:Client-Protocol - 你基於JavaScript的xhr對象(例如)

- 呼籲xhr.getAllResponseHeaders()會給你pragma, content-type, cache-control, expires(如果有的話),跳過幾個更有用的,如Content-LengthX-...的..(

相關問題