跨源請求被阻止:解決Firefox OS 問題
當瀏覽器限制來自以下來源的請求時,會出現「跨源請求被阻止”錯誤出於安全考慮,不同的來源。要在 Firefox OS 應用程式上下文中解決此問題,需要修改您的 Go 後端和 JavaScript 程式碼。
Go 後端修改:
確保您的Go 處理程序將「Access-Control-Allow-Origin」標頭設為「*」以允許來自所有起源:
func handleMessageQueue(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") // ... remainder of the code }
JavaScript修改:
1.使用 mozSystem:
建立 XMLHttpRequest 物件時,將「mozSystem」標誌指定為true:
var xhr = new XMLHttpRequest({mozSystem: true});
2.將權限加入清單:
在Firefox OS 應用清單中,在「權限」下新增「systemXHR」權限:
"permissions": { "systemXHR" : {}, }
說明:
mozSystem 允許跨站點連接,無需伺服器的 CORS 許可。但是,它僅適用於透過 Firefox App Store 審核流程的特權應用程式。清單中的「systemXHR」權限允許在您的應用程式中使用 mozSystem。
透過進行這些更改,您可以使 Firefox OS 應用程式向 Go 後端發起跨來源請求並接收必要的回應資料不會被同源策略阻止。
以上是如何修復 Firefox OS 應用程式中的「跨來源請求被封鎖」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!