>  기사  >  웹 프론트엔드  >  jQuery에서 루프를 사용하는 방법

jQuery에서 루프를 사용하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-23 17:27:242823검색

이번에는 jQuery에서 루프를 사용하는 방법과 jQuery에서 루프를 사용할 때 주의사항에 대해 알려드리겠습니다.

​ AJAX로 보낸 요청에 또 다른 AJAX 요청이 중첩되어 있었는데, 내부 요청 성공 시 첫 번째 성공의 루프 변수 i를 얻을 수 없는 것으로 확인되었습니다.

$.ajax({
    type: "get",
    url: "//////////////////////////",
    success: function (result) {
      rs = JSON.parse(result).data;
      for (var i = 0; i < rs.length; i++) { //用var定义有问题
        var pos_ = ""
        $.ajax({
          type: 'GET',
          async: false,
          dataType: 'jsonp',
          contentType: 'application/json; charset=utf-8',
          url: "///////////////////////////////////",
          success: function (result) {
            console.log(rs[i]) //报错
          }
        })
      }
    }
  })

​ 두 번째 ajax에서는 요청 후 콜백 함수에서 rs[i]가 오류를 보고합니다.

  해결 방법:

for 루프 에서 선언한 변수 var를 변경하여 i

구체적인 이유:

요청을 다시 보낸 후 for 루프에 있습니다. , 동기 요청을 작성하더라도 for 루프는 멈추지 않습니다.

 그러나 for 루프 변수를 선언한 후 let을 사용하면 요청이 완료되고 콜백 함수가 실행될 때까지 코드는 다음 루프를 시작하지 않습니다.

이는 다양한 범위에서 var 및 let 선언을 작성하는 경우 발생하는 폐쇄 문제를 고려한 것입니다.

  let i는 로컬 변수로 전달됩니다.

  var i는 전역 변수로 전달됩니다.

  i 변수를 다음 레이어로 전달하려면 let을 사용하여 선언하세요.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

jquery

asp.net+jquery.form에 요소를 추가하여 비동기 이미지 업로드 기능을 만드는 방법은 무엇입니까

위 내용은 jQuery에서 루프를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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