Eu tenho um aplicativo Rails usando backbone. Quando clico no botão Voltar ou no botão frontal aleatoriamente, vejo json.
Voce pode fornecer mais informação? Muitas pessoas estão usando o Backbone em produção com Rails no momento e não estão vendo o mesmo comportamento.
Especificamente, forneça um caso de teste para que possamos reproduzir o problema com precisão.
Estou experimentando o mesmo - sempre que navego para uma url externa (não controlada pelo aplicativo de backbone) ou fecho a guia e depois volto ou reabra a guia - estou vendo JSON. Não tenho certeza de como posso fornecer um caso de teste, mas posso compartilhar alguns detalhes que podem lhe dar uma pista do que está acontecendo.
o aplicativo usa a função _.delay para sincronizar a coleção de modelos com o servidor (collection.fetch ()). O servidor é um aplicativo RoR que atende tanto o aplicativo quanto o JSON para sincronização na mesma URL e usa cabeçalhos para decidir se precisa servir o aplicativo inteiro ou apenas uma matriz JSON de dados para modelos. poderia ser esse o problema?
Minha outra ideia é que o navegador armazene em cache a última solicitação feita ao servidor e, quando você pressiona de volta, ele apenas a renderiza. Se eu conseguir sair do aplicativo rapidamente (antes da primeira solicitação de sincronização), voltar renderiza o aplicativo (não o JSON).
Você tem alguma ideia de como superar isso?
Eu resolvi o problema fazendo isso
$.ajaxSetup
beforeSend: (xhr) ->
xhr.setRequestHeader "Accept", "application/json"
cache: false
Obrigado!
para mim
$.ajaxSetup
cache: false
foi o suficiente
+1
+1
Tive o mesmo problema em meu aplicativo RoR e sua solução funcionou para mim.
Obrigado @omenking @antonlitvinenko
Melhor ainda, sempre adicione explicitamente a extensão .json
aos seus urls e deixe o navegador armazenar em cache tanto json quanto page html (se você não se importar), ou seja, /users/1
+ /users/1.json
vez de sobrescrever a entrada de cache para o mesmo url. Caso contrário, você perderá os benefícios do cache do navegador (o que é bom, certo?)) Just my 2c.
@Sija você tem razão, mas mudei para .json explícito e quando faço o teste foi recebido o mesmo problema de json sobrescrever a página. Você tem ideia do que estou fazendo de errado? ele Ele
tks
+1
Comentários muito úteis
Obrigado!
para mim
foi o suficiente