| 제목 | ajax 질문. | ||
|---|---|---|---|
| 글쓴이 | 코드이그맨 | 작성시각 | 2016/06/21 10:45:16 | 
|  | |||
| 
<script>
    $(document).ready(function () {
        var json_obj;
        var param = {};
        //Board List Load
        $.ajax({
            url: "http://test.kr/Board/list_get",
            type: "GET",
            dataType: "json",
            success: function (data) {
                json_obj = data;
            },
            error: function (request, status, error) {
                alert("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error);
            }
        });
        alert(json_obj[0].contents);
        alert("여기까지 옴?");
     /*   var contents = document.getElementById("table_contents").innerHTML
        var row = contents;
        row = row.split("[num]", json_obj[0].name);
        row = row.split("[title]", json_obj[1].title);
        row = row.split("[name]", json_obj[1].name);
        $("#board_table_body").append(row);*/
        // $("#table_contents")
    }); //ready()
</script>
<script id="table_contents" type="text/html">
    <tr>
        <td>[num]</td>
        <td>[title]</td>
        <td>[name]</td>
    </tr>
</script>
 위와 같은 코드가 있습니다. success 에서 받아서 찍어보면, 잘 넘어오는데 여기까지 잘오냐? 거기에서 찍어볼라고 하면 에러가 날까요?? ncaught TypeError: Cannot read property '0' of undefined 
 위와 같은 에러가 나옵니다 ㅠㅠㅋ | |||
| 다음글 | 웹 모바일 간 쿠키문제.. (6) | ||
| 이전글 | view에서 객체 배열을 어떻게 사용하는지;; (4) | ||
| 
                                kaido
                                /
                                2016/06/21 11:01:32 /
                                추천
                                0
                             | 
| 
                                kaido
                                /
                                2016/06/21 11:06:26 /
                                추천
                                0
                             그리고 노파심에 하나 더 넣어드리자면... script 에서 리스트 배열 처리 방법은 
$.each(data.contents, function (key, value) {
alert(key+"__"+value["name"] );
});each 를 사용해서 간단 합니다. | 
| 
                                미나리
                                /
                                2016/06/21 11:27:03 /
                                추천
                                0
                             음.. ajax success 부분에서 이상없이 실행이 되신다는거 보면요. ajax 동기화 문제일 수 도 있어요. 뭐냐면 ajax는 비동기 방식이라 ajax로 요청을 했으나 스크립트는 계속 진행 그 후에 ajax success 부분이 실행 이런식으로 진행이 되는 경우가 있어요. 확인 방법은 ajax success 부분과 스크립트 끝 부분에 각각 alert나 console.log 찍어보시면 나중에 ajax success 부분이 늦게 실행되시면 ajax 비동기로 늦게 리턴받는 거에요. 그때는 ajax 옵션에 async:false 추가하시면 동기방식으로 변경됩니다. | 
| 
                                코드이그맨
                                /
                                2016/06/21 12:47:04 /
                                추천
                                0
                             답글 감사합니다! 
 
 일단 success : function(){ 
 } 
 위 함수부분에서 -_- 불러와서 돌리는걸로 일단, 그렇게 하고있는데.. 카이도님이 알려주신 방법은 일단 다 만들고 나서 한번 수정해서 다시 해보도록 할게요. 미나리님도 답변 감사합니다. | 
리턴값의 형태를 잘못 받아오거나, 호출하는 부분에서 잘못 호출 하고 있습니다.
에러메세지 그대로
마법의 코드를 전수해 드리지요.
success: function(data){ var data2 = JSON.stringify(data); alert(data2); }확인해보세요. 리턴된 형태가 생각 하신 것과 다를것입니다.