>  기사  >  백엔드 개발  >  Ajax 기능 및 잘못된 코드 문제에 대한 자세한 예

Ajax 기능 및 잘못된 코드 문제에 대한 자세한 예

小云云
小云云원래의
2017-12-26 10:24:281035검색

ajax의 정식 명칭은 비동기식 javascript와 XML, 즉 비동기식 js와 XML입니다. 부분 새로 고침, 비동기 작업입니다. 이 글은 ajax의 특징과 글자 깨짐 문제를 소개합니다. 관심 있는 친구들이 꼭 읽어보길 바랍니다.

Ajax가 단일 스레드이고 동기식이라는 것은 모두가 알고 있지만, 대부분의 사람들은 단일 스레드가 비동기식일 수 있는 이유를 잠시 후에 Zhang Yanni가 설명하겠습니다(아주 공식적이지는 않지만 이해하기 쉽습니다). ) :

설명하기 전에 선형 데이터 구조에 대해 말씀드리겠습니다. 단일 선형 데이터 구조는 선 세그먼트로 생각할 수 있습니다. 선 세그먼트에는 단일 스레드가 있다는 것을 모두 알고 있습니다. 선분의 머리 부분에는 앞 부분과 꼬리 부분이 없습니다. 가운데의 각 요소에는 앞과 뒤의 두 요소가 있습니다. 한 요소가 누락되면 두 요소가 동시에 알려줍니다. . 그리고 단일 요소 없이는 작동하지 않습니다.

콜백 함수는 함수 A를 함수 B에 매개 변수로 전달하고 함수 B는 함수 A를 실행합니다. 콜백 함수의 가장 일반적인 용도는 ajax를 통해 데이터를 요청할 때 사용하는 Success() 및 error() 함수와 콜백 함수를 사용하는 setInterval의 첫 번째 매개 변수입니다. 콜백 함수, 콜백 함수, 콜백의 문자 그대로의 의미는 돌아서서 다시 그 길을 걷는 것입니다. 그래서 ajax는 콜백 함수인 Success()나 error가 발생하면 돌아서서 다시 걸어가는데, 동시에 ajax도 비동기식입니다.

브라우저의 프로세스가 멀티프로세스인 이유는 왜 XXX라고 부르는지와 같습니다~

두 번째 질문은, 전능한 프론트엔드가 백그라운드 데이터를 얻기 위해 Ajax를 만났을 때, 왜곡된 코드인가요? 모두가 매우 혼란스러워합니다.
-인터넷 속도 문제일 수도 있습니다. 인터넷이 너무 느립니다.

-인코딩 형식이 균일하지 않을 수도 있습니다. 백엔드 형제가 당신을 속였을 수도 있습니다. 하하하하

Ajax의 기본 코드를 기억할 수 있습니까? 코드를 살펴보는 것이 어떨까요?


//1.创建xmlhttpRequest对象
var xhr;
try{
   xhr = new XMLHttpRequest();
   console.log(5555)
}
catch(e){
//ie浏览器低版本兼容
   xhr = new ActiveXobject("Microsoft.XMLHTTP");
}
finally{
  console.log(1111)
}
// try{} catch{} finally{}在这里是处理异常的方法,用if{}else{}也ok 
//if(window.XMLHttpRequest){
 // xhr = new XMLHttpRequest();
//  }else{
  //ie浏览器低版本的兼容
 // xhr = new ActiveXobject("Microsoft.XMLHTTP")
//}
//2.建立异步连接
xhr.open("get","url/+string",true/false);//true是异步,false是同步
//xhr.open("post","url",true/false)
//3.发送异步请求
 xhr.send(null);//get
 xhr.send(string);//post
//4.获取返回数据
 xhr.onreadystatechange = function (){
  if((xhr.readystate)==4&&(xhr.status==200)){
   var data = xhr.responseText;
   var data = JSON.parse(data);
   show(data);
}
}
function show(data){
 document.getElementById("p1").innerHTML = data;
}

관련 권장 사항:

비동기 새로 고침을 구현하는 손으로 쓴 Ajax 예제 방법

Ajax 비동기 요청 기술 분석 예제

Ajax가 데이터를 반환하기 전 로딩 대기 효과 구현 방법에 대해

위 내용은 Ajax 기능 및 잘못된 코드 문제에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.