Ajax e Json 2. Princípio do Ajax e suporte do jQuery para Ajax

1. Introdução ao princípio do Ajax

1. Histórico da tecnologia Ajax

É inegável que a popularidade da tecnologia ajax se beneficiou da promoção vigorosa do google, e é precisamente por causa da ampla aplicação da tecnologia ajax, como google earth, google sugestão e gmail, que gerou a popularidade do ajax.

Isso também deixou a Microsoft extremamente envergonhada, porque já em 1997, a Microsoft tinha inventado a tecnologia-chave no ajax e quando o IE5 foi lançado em 1999, ele começou a oferecer suporte ao objeto XmlHttpRequest, e a Microsoft já havia começado a trabalhar nele antes que o Ajax fosse usado em alguns dos produtos, como alguns aplicativos no menu do site do MSDN. Infelizmente, não sei qual era a ideia. Depois que a Microsoft inventou a tecnologia central do Ajax naquela época, ela não viu seu potencial e o desenvolveu e promoveu, mas o arquivou. Neste ponto, pessoalmente acho muito estranho, pois com os recursos da Microsoft e sua visão estratégica, as perspectivas da tecnologia ajax não devem ser perdidas. A única explicação pode ser seu principal concorrente na época. O desaparecimento da Netscape a paralisou Afinal, os gigantes também têm tempo para tirar uma soneca, como os erros estratégicos da IBM contra a Microsoft.

É esse erro que fez com que seu atual concorrente Google ocupasse a posição de liderança no Ajax. Na verdade, a liderança atual do Google em tecnologia Ajax está além do alcance da Microsoft. Esse ponto será discutido mais tarde, quando falarei sobre os defeitos do Ajax. Também será mencionado. Agora a Microsoft também está ciente desse problema, então ela também começou a se atualizar no campo ajax, por exemplo, lançando seu próprio atlas de estrutura ajax, e também fornece uma interface para implementar callbacks assíncronos em .NET2.0, a interface ICallBack . Então, por que a Microsoft está tão nervosa por estar ficando para trás no ajax? Agora, vamos analisar o profundo significado por trás da tecnologia ajax.

2. A importância da tecnologia Ajax

Em nosso desenvolvimento usual, temos mais ou menos contato com ou aplicado a Ajax. Quando se trata do significado da tecnologia Ajax, estamos sem dúvida nos concentrando em melhorar a experiência do usuário. No entanto, se combinarmos as tendências de desenvolvimento futuro dos computadores e da Internet, descobriremos que a tecnologia ajax apenas representa essa tendência em alguns aspectos.

Por que você diz assim? Sabemos que, desde o advento dos computadores, o software de desktop sempre ocupou uma posição dominante absoluta, mas o surgimento e o sucesso da Internet causaram mudanças sutis em tudo isso. Muitas pessoas acreditam que, mais cedo ou mais tarde, os dados e o software do computador serão transferidos do desktop para a Internet. Ou seja, no futuro, os computadores podem abandonar discos rígidos volumosos e obter dados e serviços diretamente da Internet. Lembro-me de quando estava na faculdade, quando um professor nos deu uma aula, uma vez imaginei tal cenário, talvez On the computador desktop no futuro, não haverá softwares ou programas extras, mas apenas um IE. Embora pareça que ainda estamos longe deste dia, e ainda há muitos problemas a serem resolvidos, acho que isso não é um sonho ., Mas a realidade que se concretizará mais cedo ou mais tarde. Então, o principal problema é que a conexão com a Internet está instável e ninguém quer ver seu computador baixando dados do servidor aos poucos.

Então, o Ajax resolve esse problema? Para ser honesto, em vez de dizer que o Ajax resolve esse problema, é melhor apenas encobrir o problema. Ele age apenas como um buffer entre o servidor e o cliente, fazendo com que os usuários pensem erroneamente que o serviço é não interrompido. Para ser preciso, o ajax não melhora a velocidade de download de dados do servidor, mas apenas torna a espera menos frustrante. Mas isso é o suficiente para causar um grande impacto e choque; na verdade, tem um grande impacto no software de desktop. Vou usar um exemplo para ilustrar este ponto. Podemos comparar o Outlook Express e o Gmail. O primeiro é um software de desktop típico, enquanto o último é um modelo B / S implementado pelo Ajax. Na verdade, o último está lentamente substituindo o primeiro. O Gmail tem quase a mesma função do Outlook Express ao enviar e receber e-mails e não precisa instalar um programa cliente. É por isso que a Microsoft tem tanto medo do impacto do Ajax e, na pesquisa que fez há pouco tempo, considerou o Google um dos principais motivos para seu principal concorrente nos próximos dez anos. Claro, essa mudança não eliminará todos os softwares de desktop.Nenhum dos navegadores existentes pode lidar com imagens complexas como programas de desktop como PhotoShop. Mas não podemos ignorar o impacto e o impacto que isso traz.

3. Sobre Síncrono e Assíncrono

A transmissão assíncrona é a transmissão orientada a caracteres e sua unidade é o caractere; enquanto a transmissão síncrona é a transmissão orientada a bits e sua unidade é o quadro. Quando ela transmite, os relógios do receptor e do remetente devem ser consistentes.

Especificamente, a transmissão assíncrona divide os bits em pequenos grupos para transmissão. Geralmente, cada grupo é um caractere de 8 bits. No início e no fim de cada grupo, há um bit de início e um bit de parada. Durante a transmissão, os relógios do receptor e do remetente não precisam ser iguais, ou seja, enviar. A parte pode enviar esses grupos a qualquer momento e o destinatário não sabe quando chegará. Um dos exemplos mais óbvios é a comunicação entre o teclado do computador e o host. Ao pressionar uma tecla, um código ASCII de 8 bits é enviado ao host. O teclado pode enviar o código a qualquer momento, dependendo da velocidade de entrada do O hardware interno deve ser capaz de receber um caractere digitado a qualquer momento. Este é um processo típico de transmissão assíncrona. Um problema potencial com a transmissão assíncrona é que o receptor não sabe quando os dados chegarão. Antes de detectar os dados e responder, o primeiro bit passou. É como se alguém inesperadamente aparecesse por trás para falar com você e você não tivesse tempo de reagir e perdesse as primeiras palavras. Portanto, cada transmissão assíncrona de informações começa com um bit de início, que informa ao receptor que os dados chegaram, o que dá ao receptor tempo para responder, receber e armazenar os bits de dados; no final da transmissão, um bit de parada indica rescisão desta transmissão de informações. Por convenção, a linha ociosa (sem transmissão de dados) realmente carrega um sinal que representa um sinal binário. O bit de início da transmissão do passo torna o sinal 0, e os outros bits fazem o sinal mudar com a informação dos dados transmitidos. Finalmente, o bit de parada faz com que o sinal mude de volta para 1, e o sinal permanece até que o próximo bit de partida chegue. Por exemplo, o número "1" no teclado, de acordo com o código ASCII estendido de 8 bits, enviará "00110001". Ao mesmo tempo, é necessário adicionar um bit de início antes dos 8 bits e um stop mordido nas costas.

Os pacotes de bits transmitidos de forma síncrona são muito maiores. Em vez de enviar cada caractere independentemente, cada caractere tem seu próprio bit de início e de parada, mas os combina e os envia juntos. Chamamos essas combinações de frames de dados ou, para abreviar, frames.

  A primeira parte do quadro de dados contém um conjunto de caracteres de sincronização, que é uma combinação única de bits, semelhante ao bit de início mencionado anteriormente, usado para notificar o receptor que um quadro chegou, mas também pode garantir a velocidade de amostragem do receptor Mantenha o mesmo com a velocidade de chegada do bit, para que o emissor e o receptor fiquem sincronizados.

  A última parte do quadro é um marcador de fim de quadro. Como o caractere de sincronização, também é uma string de bits única, semelhante ao bit de parada mencionado anteriormente, usada para indicar que não há outros dados para chegar antes do início do próximo quadro.

  A transmissão síncrona geralmente é muito mais rápida do que a transmissão assíncrona. O receptor não precisa iniciar e parar todos os personagens. Depois de detectar os caracteres de sincronização de quadro, ele os recebe quando os próximos dados chegam. Além disso, a sobrecarga da transmissão síncrona é relativamente pequena. Por exemplo, um quadro típico pode ter 500 bytes (ou seja, 4000 bits) de dados, que podem conter apenas 100 bits de sobrecarga. Nesse momento, os bits adicionados aumentam o número total de bits transmitidos em 2,5%, que é muito menor do que o aumento de 25% na transmissão assíncrona. À medida que os bits de dados reais no quadro de dados aumentam, a porcentagem de bits de overhead diminui de acordo. No entanto, quanto mais longo o bit de dados, maior o buffer necessário para armazenar os dados em cache, o que limita o tamanho de um quadro. Além disso, quanto maior o quadro, mais longo é o tempo contínuo que ele ocupa no meio de transmissão. Em casos extremos, isso fará com que outros usuários esperem muito.

     Depois de compreender os conceitos de sincronização e assincronia, todos devem ter uma compreensão mais clara de por que o Ajax pode melhorar a experiência do usuário.Ele usa métodos de solicitação assíncrona. Por exemplo, se a comunidade onde sua casa está enfrentando um corte de água devido a certas circunstâncias, os departamentos relevantes anunciaram dois planos. Um é interromper o abastecimento de água por 8 horas e parar o abastecimento de água por 8 horas. Voltar ao normal depois de horas. A segunda é que a água não é interrompida completamente por 10 horas. Durante essas 10 horas, a água não é totalmente cortada, mas a vazão é muito menor do que antes. Após 10 horas, a vazão normal será restaurada. Então , se for você, que caminho você escolheria? Obviamente, o último.

4. Vantagens do Ajax

   Basicamente, todos conhecem os benefícios do Ajax para nós. Aqui, falarei apenas brevemente sobre alguns pontos:

  • O ponto principal é que a página não é atualizada e se comunica com o servidor dentro da página, o que dá ao usuário uma experiência muito boa.
  • Use o modo assíncrono para se comunicar com o servidor, sem interromper a operação do usuário, com recursos de resposta mais rápidos.
  • É possível transferir parte do trabalho da carga do servidor anterior para o cliente e usar a capacidade ociosa do cliente para processar, reduzir a carga do servidor e da largura de banda e economizar espaço e custos de aluguel de banda larga. E para reduzir a carga no servidor, o princípio do Ajax é "buscar dados sob demanda", o que pode minimizar a carga no servidor causada por solicitações e respostas redundantes.
  • Com base em tecnologia padronizada e amplamente suportada, não há necessidade de fazer download de plug-ins ou miniaplicativos.

5. Desvantagens do Ajax

  Deixe-me focar nas deficiências do Ajax, porque normalmente prestamos atenção aos benefícios que o Ajax nos traz, como a melhoria da experiência do usuário. Os defeitos trazidos pelo ajax foram ignorados.

  Os defeitos do Ajax descritos abaixo são todos inerentemente produzidos por ele.

  • O Ajax elimina o botão Voltar, o que destrói o mecanismo de retorno do navegador. O botão Voltar é uma função importante de um site padrão, mas não pode funcionar bem com o js. Este é um problema sério causado pelo ajax, porque os usuários geralmente desejam cancelar a operação anterior voltando. Então, há alguma solução para esse problema? A resposta é sim. Aqueles que usaram o Gmail sabem que a tecnologia ajax usada no Gmail resolve esse problema. Ela pode ser regredida no Gmail. No entanto, ela não altera o mecanismo ajax. Ele apenas usa um mecanismo burro, mas eficaz. O método é que quando o usuário clica no botão voltar para acessar o histórico, as alterações na página podem ser reproduzidas criando ou usando um IFRAME oculto. (Por exemplo, quando o usuário clica novamente no Google Maps, ele pesquisa em um IFRAME oculto e reflete os resultados da pesquisa no elemento Ajax para restaurar o estado do aplicativo ao estado atual.)

No entanto, embora esse problema possa ser resolvido, o custo de desenvolvimento que ele acarreta é muito alto, o que é contrário ao rápido desenvolvimento exigido pelo framework ajax. Este é um problema muito sério causado pelo ajax.

  • Pergunta de segurança

A tecnologia também traz novas ameaças à segurança para as empresas de TI.Ajax é como estabelecer um canal direto para os dados corporativos. Isso permite que os desenvolvedores exponham inadvertidamente mais dados e lógica do servidor do que antes. A lógica do ajax pode ser escondida da tecnologia de varredura de segurança do cliente, permitindo que hackers estabeleçam novos ataques de servidores remotos. O Ajax também é difícil de evitar alguns pontos fracos de segurança conhecidos, como ataques de passos entre sites, ataques de injeção de SQL e vulnerabilidades de segurança baseadas em credenciais.

  • O suporte para mecanismos de pesquisa é relativamente fraco.
  • O mecanismo anormal do programa é destruído. Pelo menos por enquanto, estruturas ajax como ajax.dll e ajaxpro.dll destruirão o mecanismo de exceção do programa. Em relação a esse problema, eu o encontrei durante o processo de desenvolvimento, mas quase não há introdução relevante na Internet. Posteriormente, fiz um experimento e usei os modos de envio de formulário tradicional e ajax para excluir um dado ... Isso trouxe grandes dificuldades para a nossa depuração.
  • Além disso, alguns problemas como outros aspectos, por exemplo, violam a intenção original de URL e posicionamento de recursos. Por exemplo, se eu der a você um endereço de url, se a tecnologia ajax for usada, talvez o que você vê sob o endereço de url seja diferente do que vejo neste endereço de url. Isso é contrário à intenção original de posicionamento de recursos.
  • Alguns dispositivos portáteis (como telefones celulares, PDAs, etc.) atualmente não suportam bem Ajax. Por exemplo, quando abrimos um site que usa a tecnologia Ajax no navegador do celular, ele atualmente não oferece suporte. É claro , este problema não nos sustenta. Muitos relacionamentos.

Acabei de copiar tanto, você pode verificar o conteúdo compilado pelo autor original para obter detalhes: https://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html 

2. Suporte da jQuery para Ajax

Antes de usarmos a forma nativa para implementar Ajax, definitivamente não usaremos essa forma no futuro, usaremos mais avançada ou mais conveniente, aqui apresentamos o jQuery novamente.

Abra o site oficial da jQuery e vá até o final (site oficial da jQuery: https://jquery.com/  )

Você pode ver tal coisa, sim, sim, este é o suporte do jQuery para Ajax, nos salva o processo de criação de XMLHttpRequest, nos economiza o processo de encapsular parâmetros, nos economiza o processo de escrever o status de julgamento

Em outras palavras, ele nos economiza muitas etapas anti-travamento

Sem muita bobagem, iremos introduzir jQuery diretamente em nosso projeto, apenas colocá-lo no projeto mencionado na seção anterior.

Próximo Próximo jQuery Ajax HelloWorld

Vamos criar uma página no projeto AjaxHelloWorld primeiro, nós a chamamos de index2.html, o conteúdo desta página é o mesmo da página index.html anterior

A única diferença é que tentamos Ajax fornecido pela jQuery para operar desta vez ~

Aqui vou fazer o upload direto do código e depois explicar, é claro, você também pode ver a explicação no site oficial.

Primeiro apresentamos o jquery e, em seguida, alteramos o XMLHttpRequest anterior para jQuery

Então, vamos modificar o código java

Aqui, modificaremos a saída anterior para o formato json, falaremos sobre json mais tarde, primeiro escreva assim

Inicie o servidor, vamos ver o efeito ~~~

Está bem

Vamos falar sobre o código Ajax de front-end

O primeiro é type, que se refere ao tipo de nossa solicitação. Existem dois parâmetros, um é GET e o outro é POST

O próximo é o url, este é o caminho solicitado

Na verdade, existe também um parâmetro de dados, porque estamos usando uma solicitação GET, então não há dados, se for POST, precisamos trazer esse parâmetro de dados

Sucesso é que se a solicitação for bem-sucedida e o código de status for 200, podemos escrever uma função de retorno de chamada. Há um parâmetro de resultado na função. Esse resultado é o valor de retorno que obtemos do back-end.

Em contraste, há erro, e erro também é uma função de retorno de chamada. Se o back-end lançar uma exceção, também podemos obter o valor da exceção na função de retorno de chamada e exibi-lo.

Para obter detalhes, você pode ver  https://api.jquery.com/jQuery.ajax/  o documento oficial fornecido por jQuery

Quarto, a introdução de $ .post & $ .get

Na verdade, esses dois são muito semelhantes ao uso de $ .ajax, mas a diferença é que, com eles, não precisamos escrever o tipo.

Documento oficial do site:

GET  https://api.jquery.com/jQuery.get/

POST  https://api.jquery.com/jQuery.post/

O uso específico será descrito posteriormente com Json ~

 

Você pode verificar por si mesmo, se não entender, entre em contato comigo QQ: 2100363119

Sejam todos bem-vindos para visitar meu site: https://www.lemon1234.com

Se puder, preste atenção na minha conta oficial, ela está no meu site, atualizada todos os dias ~~~, recursos ilimitados para curtir Java, obrigado ~

Recentemente, o mini programa também foi aberto. Você pode escanear o código para se divertir.

Acho que você gosta

Origin blog.csdn.net/weixin_45908370/article/details/113876867
Recomendado
Clasificación