2014-05-22 28 views
1

我正在編寫Web服務。 我想提供第三方網站和API到我的服務器。 我正在通過爲他們提供一個可從我的服務器中包含的JavaScript文件來完成此操作。 與Facebook/Twitter/Google正在做的很類似。提供Rest API時出現跨站點問題

問題是,相同來源政策禁止他們打電話給我的API服務器。什麼是乾淨和正確的方式來實現我的API文件+服務器?

我應該允許來自任何人的服務器上的跨源請求,還是有我能放入JavaScript文件的東西?

回答

2

要啓用CORS,您需要在響應中添加標頭Access-Control-Allow-Origin: *。這將允許任何網站調用您的服務(您可以通過允許的域來限制*改變*的訪問)。 This是一個很好的參考

+0

謝謝。這是如何在facebook/google/twitter中實現這些東西的? – eshalev

+0

是的,如果您打開http watch,請在瀏覽器中打開http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js(這是Google CDN),然後查看你將會看到'Access-Control-Allow-Origin:*' –

+0

我想我誤解了......我是否需要在所有REST-API(我所有的請求)上都允許CORS。或者僅當服務js文件本身時(只是對js文件的請求)? – eshalev