2017-06-21 54 views
0

我在1個visual studio解決方案中有2個項目 - 前端(HTML,CSS和JS)和Web API。它們在分離的端口上運行 - FE上的37056和API上的6596 。在JS文件即時通訊瞄準wep api控制器 - 例如http://localhost:6596/api/Contacts/GetContacts,並呈現從HTML頁面上的Wep API響應。到目前爲止好..在一個端口和前端的Web api項目

這裏來的問題 - 在HTML中網址呈現http://localhost:37056/about.html,所以如果例如我想指向Web API返回的某些特定資源,這是不可能的。如果我鍵入例如http://localhost:37056/api/Contacts/GetContacts將有錯誤的請求。

我怎麼能繞過這個 - 我有一個前端的博客文章提供來自WEB api + database的數據。我想給用戶機會http://localhost:37056/api/Blog/Page=1此刻,這是唯一可能的,如果他/她導航到前端的博客頁面,並點擊特定的帖子,瀏覽器中的URL將不會改變。它將爲http://localhost:37056/api/Blog,沒有頁碼等等(JS正在提出請求)。

在此先感謝!

回答

0

您將FrontEnd URL(http://localhost:37056)與BackEnd資源(api/Contacts/GetContacts)連接起來。

有兩種方法來解決這個問題:從後端絕對URL(而不是相對)指向後端資源

  • 返回。這應該是可行的,因爲後端「知道」它是自己的URL。
  • 從後端存儲在FrontEnd base URL中,並將其連接到返回的相對路徑。

我建議使用第一個選項,因爲如果某些資源移動到新位置(例如,存儲在第三方服務器中的外部資源),則根本不需要更新前端。

0

你可以在html中使用絕對的uri而不是相對的uri嗎?