| 제목 | 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); }확인해보세요. 리턴된 형태가 생각 하신 것과 다를것입니다.