Usuário com melhor resposta
Json no Firefox e Chrome

Pergunta
-
Galera estou com um problema chato.
Na minha aplicação utilizado muito return Json(parametro).
O que está acontecendo é o seguinte.
No IE ele apresenta a tela normalmente, e no rodapé apresenta o Json para download, já no Firefox e Chrome isso não acontece, simplesmente aparece o Json retornado na tela e mais nada, conforme mostra a imagem abaixo.
Não faço a mínima ideia de como resolver isso.
E outra coisa, eu não queria nem que aparecesse nada pra salvar no IE.
Alguém sabe como me ajudar?
Obrigado.
- Editado Fernando Mamprin segunda-feira, 4 de agosto de 2014 13:10
Respostas
-
Fernando, nesse caso não sei como resolver, vou ficar te devendo uma resposta. :(
Veja se isso te ajuda:
http://msdn.microsoft.com/en-us/library/system.web.mvc.jsonresult(v=vs.118).aspx
Bom Dia Carolina,
Eu observei o link que enviou e lá ele explica como utilizar o JsonResult, apresenta algumas propriedades da classe, e como formatar esse resultado.
Encontrei mais vários links onde falam de Json Serialize como você havia mencionado e também utilizar a desabilitação de cache do navegador, que pra mim funcionou hehe.
Segue os links caso queira ver.
http://juristr.com/blog/2012/10/output-caching-in-aspnet-mvc/
http://wingkaiwan.com/2012/12/28/replacing-mvc-javascriptserializer-with-json-net-jsonserializer/
Mais uma vez agradeço seu retorno e seu interesse em ajudar, se todos fossem assim a comunidade seria muito melhor :)
- Marcado como Resposta Fernando Mamprin segunda-feira, 11 de agosto de 2014 13:52
Todas as Respostas
-
-
-
welington me desculpe cara, mas esse não é o meu problema.
Conforme descrito, o meu problema é o json zuar minha página, não mostrando o conteúdo e mostrando os dados retornados pelo json.
E eu nunca jamais quero isso, se possível quero desativar.
-
-
Não sei te dizer o porquê de exibir apenas no IE, mas talvez você possa resolver o problema deserializando os dados do Json para um novo objeto.
Dá uma olhada no Newtonsoft:
https://www.nuget.org/packages/newtonsoft.json/
É simples de usar e possui várias maneiras de deserializar.
-
Não sei te dizer o porquê de exibir apenas no IE, mas talvez você possa resolver o problema deserializando os dados do Json para um novo objeto.
Dá uma olhada no Newtonsoft:
https://www.nuget.org/packages/newtonsoft.json/
É simples de usar e possui várias maneiras de deserializar.
Obrigado pelo retorno Carolina.
Eu estava dando uma olhada e infelizmente esse não vem a ser o meu problema.
Na verdade eu não quero que o Json seja exibido, e isso acontece apenas nessa tela ¬¬ .
Na minha controller eu tenho um retorno simples mais ou menos assim:
public ActionResult Teste(ClassTeste model){ model.Teste = "teste"; return Json(model); }
E no jquery utilizo uma chamada simples de ajax.
function Teste(){ $.ajax({ type:'POST', url: '@Url.Action("")', data: $('form').serialize(), success: function(data){ if(data.Teste) { . . . } } }); }
Não entendo.
-
-
Fernando, nesse caso não sei como resolver, vou ficar te devendo uma resposta. :(
Veja se isso te ajuda:
http://msdn.microsoft.com/en-us/library/system.web.mvc.jsonresult(v=vs.118).aspx
Bom Dia Carolina,
Eu observei o link que enviou e lá ele explica como utilizar o JsonResult, apresenta algumas propriedades da classe, e como formatar esse resultado.
Encontrei mais vários links onde falam de Json Serialize como você havia mencionado e também utilizar a desabilitação de cache do navegador, que pra mim funcionou hehe.
Segue os links caso queira ver.
http://juristr.com/blog/2012/10/output-caching-in-aspnet-mvc/
http://wingkaiwan.com/2012/12/28/replacing-mvc-javascriptserializer-with-json-net-jsonserializer/
Mais uma vez agradeço seu retorno e seu interesse em ajudar, se todos fossem assim a comunidade seria muito melhor :)
- Marcado como Resposta Fernando Mamprin segunda-feira, 11 de agosto de 2014 13:52