js 코드 일부에서 버그가 발생했는데, 이는 중간에 암시적인 전역 변수로 인해 발생했습니다.
코드 양이 많아서 Google Chrome의 js 디버거를 통해 문제를 발견했습니다.
그런데. , 내 컴퓨터에는 fiefox를 사용할 수 없습니다. 작년부터 여러 번 시도했지만 모두 실패했습니다.
하지만 Google의 디버깅도 매우 유용합니다.
간략화된 코드는 다음과 같습니다.
$(function() {
var pageNo = 2;//이 매개변수는
var pageSize = 10;
test();
paginate(pageNo,pageSize);//왜냐하면 test() 메서드는 pageNo를 재정의하여 pageNo가 항상 1이 되도록 합니다.
})
function test(){
pageNo = 1;//전역 변수, 이전 pageNo 덮어쓰기, var 작성과 동일 js 상단의 pageNo = 1
//여기를 var로 변경 pageNo = 1; 그게 다입니다
//do,,,
}
function paginate(pageNo,pageSize){
window.location.href = "user_list.action ?pageNo=" pageNo "&pageSize=" pageSize;
}
js에서는 모든 변수를 var로 선언하는 것이 좋습니다. js에는 블록 수준 범위가 없기 때문에 변수를 맨 위에 쓸 수 있습니다.