2016-08-28 46 views
0

我正在使用網頁。我在做前端,我的同事正在做後端和網絡服務器。他使用golang編寫web服務器。現在,他的'/'請求處理程序(即,如果我在本地託管它,只是簡單的localhost - 不localhost/foo等)將發送給我一個html模板/靜態文件,它會自動顯示(我不'用我的JS以任何方式處理他的模板)。JS - 處理顯示JSON的初始服務器響應

我們現在將網頁移動到SPA,並且我們決定他向我發送使用JSON顯示的html。我能夠處理來自AJAX請求的JSON,這是我如何顯示每個其他url請求上的數據(使用jQuery - $.ajax().done()等);然而,他仍然給我發送一個模板來處理'/'請求,因爲我不發送AJAX請求。

當前正在發送的作爲模板的代碼是:

<!DOCTYPE html> 
<html> 
    <head> 
    <!--head-stuff, this area is populated--> 
    </head> 
    <body> 
    <!--body stuff, this area is populated--> 
    </body> 
</html> 

我們要充分過移到發送JSON,該計劃是,Web服務器將JSON上給我'/'請求(即,上述模板將作爲JSON發送)。我試圖弄清楚我將如何處理它(捕獲它 - 因爲它將不會響應「我」(即我的JS)調用的請求)。

這可能嗎?或者,最初的發送總是必須是靜態文件/模板(我的Google搜索沒有任何結果)。

+0

如果你想把'/'作爲你的應用程序的入口點(你可以鍵入一個URL,你可以鍵入到一個Web瀏覽器或一個你可以關注的鏈接),它需要是HTML,或者至少它不能只是JSON。 JSON只是數據,除非你告訴它做什麼,否則瀏覽器不會對它做任何事情。所以至少你需要一個非常基本的HTML頁面和一些JS,它將加載以JSON形式提供的初始頁面,並且做任何需要的魔法。 – jcaron

+0

@jcaron tku。我更新了我的問題以包含當前正在發送的模板。所以你告訴我的是,上面的模板不能用JSON發送,但需要是一個靜態文件?也許我的更新澄清了更多。 Tku – 4lackof

+0

你可以發送封裝在JSON中的任何東西。但瀏覽器不會自動執行任何操作,而它將解析HTML,對於您來說最重要的是嵌入JS或從該HTML鏈接。 – jcaron

回答

1

如果你需要一個地址,你可以輸入到瀏覽器或鏈接,它不能只是JSON。

JSON只是數據,瀏覽器不會自發地做任何事情。

你需要的是至少一個HTML頁面(最重要的是你的情況,相關的嵌入或鏈接的JS)。 HTML頁面可以是非常基本的,只需加載一些JS(然後加載其餘的JS,HTML,CSS,通過JSON或其他方式提供),但它需要存在,因爲它是唯一的方法之一瀏覽器執行任何代碼。