簡體   English   中英

使用ember.js顯示JSON而不是用於rails視圖的HTML

[英]JSON shown instead of HTML for rails view using ember.js

我正在慢慢地將我的rails網站從傳統的rails往返每個視圖應用程序轉移到最終將基於單頁ember.js的應用程序。 作為此遷移的一部分,我是按步驟進行操作,而不是一次性將整個應用程序遷移到單個頁面應用程序,而是逐個部分。

我對一個似乎很普遍的問題感到難過。 當我為JSON視圖和HTML視圖使用相同的控制器時,在Chrome中按回來偶爾會向我顯示JSON視圖而不是HTML視圖。

例如,我有一個端點/組合/ 13,它是這些部分ember.js應用程序之一的入口點,它導致Ember數據在同一端點上使用應用程序/提取ID為#13的投資組合的JSON json作為Accept:標題。 在向前導航到更深的頁面后按回來將獲得頁面的JSON表示而不是HTML。

我是否需要強制Ember Data使用format參數,以使JSON版本位於不同的URL? 如果是這樣,那怎么做呢?

我究竟做錯了什么?

嘗試在Javascript中的某處添加:

$.ajaxSetup({cache: false});

它應該解決問題。 但是,這里出了點問題,因為默認情況下瀏覽器不會緩存JSON。 可能是因為內容類型錯誤,即Rails將JSON作為HTML提供。

你是否在rails應用程序中將某些標題設置為“application / json”? 您可以跟蹤網絡響應標頭並查看content-type:value嗎?

“整個”頁面是否顯示為JSON? (意思是不解析HTML)

有一次使用sinatra我有這個問題而且我有一個(非常愚蠢):

before do 
    content_type 'application/json'
end

如果您希望瀏覽器正確顯示,則所有HTML頁面必須為“text / html”。

在rails應用程序的某些地方可能是您的問題。 (但為什么你沒有在ember之前遇到這個問題?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM