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