2012-07-08 66 views
1

我想做一個簡單的POST請求,我仍然不成功。Firefox擴展應用程序RESTClient如何避免CORS?

接頭變化從

編碼:UTF-8的Http-方法:POST內容類型: 應用/ X WWW的窗體-urlencoded;字符集= UTF-8

的Http-方法:OPTIONS 的Content-Type:

我明白,當我嘗試使用谷歌關閉XhrIo訪問我的服務器,它會導致預檢和失敗,我POST請求。

Firefox extension app RESTClient,也是一個類似的Chrome應用可以訪問使用XMLHttpRequest的,他們不會引起預檢。如何和爲什麼?

PS:我不是JS親,我不明白這個代碼http://code.google.com/p/restclient/source/browse/extension/chrome/content/restclient.js的複雜性。

任何幫助讚賞

埃迪。

+0

[可能重複(與鉻)](http://stackoverflow.com/questions/11127025/how-does-google-chromes-advanced-rest-client-make-cross-domain-post-requests) – SuperSaiyan 2012-07-08 06:21:42

+0

謝謝法拓士。在另一個帖子上爲你的答案+1。這回答我的問題和沮喪:) – Eddie 2012-07-08 11:21:15

+0

很高興這個答案幫助你。 :) – SuperSaiyan 2012-07-08 11:22:21

回答

0

發現了這片寶貴的信息HTML5Rocks.com

跨域從Chrome擴展

Chrome擴展支持跨域請求以兩種不同的方式:

包含manifest.json中域 - Chrome擴展可以使跨域請求到如果域被包括在manifest.json文件的「權限」一節中的任何域: 「權限」:[「HTTP://*.html5rocks.com」]的服務器不需要t o包含任何額外的CORS頭文件或做更多的工作以使請求成功。

CORS要求 - 如果域不在manifest.json文件中,那麼Chrome擴展,使標準的CORS請求。 Origin標頭的值是「chrome-extension:// [CHROME EXTENSION ID]」。這意味着來自Chrome擴展程序的請求必須遵守本文中描述的相同CORS規則。

相關問題