더보기버튼 오류가 납니다..
본문
ajax로 더보기 버튼을 구현하는 과정에서
더보기를 클릭하면 값은 제대로 나오는데 오류가 납니다..
Uncaught TypeError: Cannot read property 'bf_file' of undefined
at Object.success (board.php?bo_table=used_market:211)
at l (jquery-1.8.3.min.js:2)
at Object.fireWith [as resolveWith] (jquery-1.8.3.min.js:2)
at T (jquery-1.8.3.min.js:2)
at XMLHttpRequest.r (jquery-1.8.3.min.js:2)
에러가 나는 부분은
if(result[q]['bf_file'] == null || result[q]['bf_file'] == undefined) 입니다...
어떻게 해야될까요...
답변 3
result[q] 영역에
['bf_file']로 된 것필드명 자체가 할당되지 않은겁니다.
결과로 받은 result는 Json 형태이고
위의 예제로는 어떻게 봐도
쿼리의 맨마지막 최종Row값만 json 으로 가지고 있는 구조인걸로봐서
result.bf_file 로 확인하셔야 맞는거 같네요
즉, 오류가 난다고 하는 부분을(다른 로직오류가 없다는 가정하에)
if (result.bf_file == null || result.bf_file == undefilned) {
로 비교하시면되는데
자바스크립트의 특성상
null과 undefiened는 둘다 false로 인식됩니다.
좀더 변형을 주면
if (!result.bf_file) {
로 대치할수있습니다.
그런데..로직에 오류가 있네요
for 문은 열씸히 돌리는데
결국 넘기는건 최종 Row 이고
json구조의 1차원배열을 받아서
2차원배열접근하듯 하셔서 오류가 나는것같네요
더 설명하기엔 너무 길어질거 같아서...
!-->!-->bf_file이라는 object가 전달이 되지 않는듯 한데 이렇게만 봐서 정확히 어떻게 답변을 드려야 할지 애매합니다.
다른것과 충돌의심 1표!