2013-04-21 122 views
1

我有兩個名爲opentripplanner-webapp和opentripplanner-api-webapp的應用程序。我已經成功地將它們部署在本地tomcat服務器上。應用的網址爲http://localhost:8080/opentripplanner-webapphttp://localhost:8080/opentripplanner-api-webapp。當我在appfog上部署應用程序時,他們爲這兩個應用程序提供了不同的域。問題是我的應用程序使用ajax請求和響應,這在跨域不起作用。我正在尋找兩天來找到任何解決方案,但沒有找到任何合適的解決方案。請引導我。 Thankss在同一個域上託管兩個網站

回答

0

這裏有幾個選項供您:

  • 使用JSONP (JSON with Padding)。你將不得不寫你的api,所以它支持這個協議,但它不應該太難。因此它們支持Cross Origin Resource Sharing。這意味着您的web應用程序在請求中發送Origin標頭,並且服務器迴應Access-Control-Allow-Origin標頭,如果它們匹配,則瀏覽器接受請求。然而,這是not supported by all browsers,儘管大多數現代瀏覽器都這樣做。
  • 在opentripplanner-webapp中使用代理servlet,將代理請求代理到您的API。你可以在例如「安裝」這個servlet。 /api,它會在內部將所有請求轉發到opentripplanner-api-webapp。所以你會發送你的AJAX請求到http://webappserver/api而不是http://apiserver。對於瀏覽器來說,這看起來像是一個普通的相同原點請求。這將適用於所有瀏覽器,但可能需要更多設置。
相關問題