Pergunta

AJAX realmente significa Asynchronous JavaScript e XML. Este termo foi derivado porque (como eu sei a história) as primeiras pessoas que começaram este processo os dados transferidos do servidor para o cliente via XML. Ultimamente (bem desde que eu comecei a usá-lo na verdade), JSON tem sido em torno e parece ser uma alternativa real para XML. De minhas (possivelmente escassa) testes e experiência, JSON é menor, mais fácil e melhor para a transmissão de dados.

Assim, a minha pergunta é esta: o que você usa para falar de e para o servidor / cliente (e, possivelmente, por que)? Ou, o que são as "melhores práticas" que você ouviu (e porquê)?

Obrigado a todos!

Foi útil?

Solução

JSON contra XML parece ser um debate em curso - Eu prefiro ir com JSON, uma vez que é um ajuste melhor para serviços da Web que mashups de energia e widgets AJAX porque é essencialmente serializado objetos JavaScript (e, portanto, fácil de usar com Javascript ).

Você pode encontrar alguns extensa comparação das vantagens e desvantagens de JSON e XML on JSON ou XML, que formato escolher? e a resposta AJAX : XML, HTML ou JSON

Outras dicas

Nós geralmente preferem xml porque tem algumas vantagens sobre JSON como:

  • XML pode ser validado enquanto JSON não tem validador
  • No namespaces em JSON
  • O XML é extensível ao contrário JSON
  • JSON é geralmente considerado inseguro

Por outro si json mão tem suas vantagens:

  • Json é mais simples
  • É mais fácil processo no lado do cliente
  • Depuração pode ser uma brisa quando algo dá errado

No final, depende do que você está tentando desenvolver, por coisas que eu orientada a dados prefiro JSON.

Qual é o melhor para uso é application / exigência específica. No lado do navegador JSON é a escolha melhor, enquanto no lado do servidor para arquivos XML é melhor escolha. Usar a ferramenta certa para o trabalho certo. JSON é mais no sentido de dados enquanto XML é mais no sentido de documento. JSON é suportado nativamente pelo navegadores de código Javascript.

Para obter mais e detalhou informação sobre este post, por favor consulte um link que têm mais agradável comparação de cada um com exemplos. http://codebucket.co.in/which-one-is-better-xml -ou-json /

Eu prefiro usar JSON quando possível:

  1. Já vem como um objeto Javascript, então tudo que você precisa fazer eval chamada () sobre ele para pegar todos os seus dados.
  2. JSON é Javascript, por isso é mais rápido para Grokar para as pessoas que já conhecem JS, mas não têm as complexidades de XML para baixo.
  3. No navegador, você não tem que passar pela dor de analisar um objeto XML. (Você também não tem que construir um no servidor, embora você tem que criar o JSON de qualquer maneira.)
  4. É um método mais compacto de transferência de dados.

Eu gravitar em torno de JSON onde quer que possível nos dias de hoje. É certamente se sente mais leve e mais "natural" em conjunto com o lado do cliente codificação.

Segurança melhores práticas:. Nunca JSON cegamente eval sem executar uma verificação na corda recebido como você poderia estar execução de código arbitrário alguém "colocado" na string JSON

Douglas Crockford tem escrito uma boa conjunto de princípios de segurança ao trabalhar com JSON.

Eu sempre sorrir quando vejo o AJAX prazo. Eu sorrio porque eu comecei usando a mesma técnica muito antes mesmo XMLHTTP existiu, muito menos AJAX.

Nós fizemos a mesma coisa como AJAX em uma aplicação Intranet em IE, mas usando VBScript e um applet Java em vez de XMLHTTP. Nós usamos algo semelhante ao JSON, mas na sintaxe VBScript.

Em teoria XML seria bom rápido, porque de validação e não o que. Na prática, você não pode cliente validar lado contra um DTD ou esquema razoável (ou na maioria dos casos em todos). Experimente você vai ver.

XML também sofre de seu cliente-side verbosidade e consumo. A menos que você planeja usar XSLT ou algo assim e directamente consumir o pacote recebido você tem que cortar os dados com o DOM como fez.

Finalmente XML pode não razoável olhou até que esteja completa (do lado do cliente, pelo menos) para que você não pode fazer a inspeção parcial. Embora para ser justo JSON terá desafios lá também dependendo de como ele está estruturado.

Dado o ambiente de consumo (JavaScript principalmente) JSON tem a perna óbvio para cima. Há uma discussão enorme desta escolha além de outras coisas como YAML, CSV, os dados base64 codificados, fragmentos HTML, etc. no capítulo 4 do Ajax: The Complete Reference ( http://ajaxref.com ) que é apenas em tipos de dados. Exemplos provar refutar facilidade de manuseamento particularmente nos casos menos conhecidos. Se eu tivesse que escolher um JSON seria isso, mas francamente para alguns usos de Ajax fragmentos pequena HTML (uma vez que é tapa e ir) é a maneira de fazê-lo.

Você também pode simplesmente gerar html e usar essa saída diretamente em sua aplicação. XML é muito detalhado, onde JSON requer atenção extra no processamento devido a segurança.

Não há realmente uma 'melhor prática', Pessoalmente se eu iria escolher entre JSON e XML Gostaria de usar JSON. Embora você tenha alguns posibilities consulta interessantes se você usar XML.

Eu acho que os debates sobre JSON contra show de XML que JSON pode ser a melhores práticas. Eu não acho que as velocidades de transmissão de cliente-servidor estão indo para ir embora como um problema em breve, se nunca . Então eu acho que JSON vai ganhar sobre a questão de ser menor somente (Eu acredito que JSON também tem flexibilidade quanto ao que servidor pode enviado para, mas isso envolve naturalmente questões de segurança como mencionado)

Talvez devêssemos começar a chamá-lo "AJAWX" (Asynchronous JavaScript sem XML).

A minha escolha é JSON.

Porque:

  • é muito mais rápido. Você precisa apenas de avaliar o código JSON de resposta, em vez de analisar XML.
  • que requerem muito menos do código. eval () é menor do que o código parser XML.
  • menos tráfego (quantidade de dados a transferência) entre cliente e servidor como resultado mais rápido manipulação
  • -lo mais legível
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top