2011-06-13 3 views
2

아약스로 내 사이트의 다른 페이지에서 json 정보를로드하려고합니다. 나는이 작업을 수행 할 때 여기에 지금까지Jquery 도움말 Json 데이터로드 중

$(function() { 
    $('#show-more').bind('click', function() { 
    $.ajax({ 
     url: 'http://localhost:3000/users/10', 
     dataType: 'json', 
     success: function(data) { 
     alert(data);  
     } 
    }); 
    }); 
}) 

이 무엇인가, 경고 팝업 최대 나는 [OBJECT OBJECT] [OBJECT OBJECT]를 얻을. 이 데이터를 가져 와서 페이지의 피드 ID에 추가하려면 어떻게해야합니까? 나는 alert(data)의 장소에서이 시도 :

$('#feed').append(data); 

그러나 나는이 오류 "([I] RET) fragment.appendChild를,"얻을 내 콘솔. 내가 원하는 것을 어떻게 할 수 있습니까?

또한 데이터에 필드에 액세스하려는 제목이 표시된 메시지를 검색하고 있습니다. 어떻게 접근 할 수 있습니까? data.message와 같은 것을 할 수 있을까요?

미리 감사드립니다.

+0

반환되는 데이터 개체는 무엇입니까? 이 (asp.net, PHP, JSP)에서 얻는 서버 응용 프로그램은 무엇입니까? – hivie7510

답변

3

경고가 표시되어있어 개체가 있다는 사실이 우수합니다. JSON은 JavaScript Object Notation이므로 성공 메소드에서 객체를 데이터로 수신해야합니다.

유형에 따라 다양한 방식으로 데이터에 액세스 할 수 있습니다. HTML이 아닌 다른 요소에 직접 "추가"할 수 없습니다. 따라서 JSON이 단일 객체이면 다음 작업을 수행 할 수 있습니다.

alert(data.id) 

"id"는 객체의 속성 중 하나의 이름입니다. 데이터 객체의 배열 인 경우 또는, 당신은이 작업을 수행 할 수 있습니다

$.each(data, function() 
{ 
    alert(this.id); 
}); 

는 유형에 관계없이 수동으로 HTML을 생성해야합니다.

1

데이터는 자바 스크립트 개체입니다. 찾고있는 데이터가있는 속성이있을 것입니다. data.message = "foo" 인 경우 alert(data.message)을 수행하면 "foo"가 출력됩니다.

당신이 몇 가지 중 하나를 수행 할 수있는 데이터의 속성보고 싶다면 : 1) 크롬의 자바 스크립트 콘솔 또는 파이어 폭스의 방화범 확장에 alert(data);를 포함하는 줄에 중단 점을 넣어 당신이 줄에 중단 점을 넣을 수 있습니다 모든 변수의 값을 확인하십시오. 그것을 통해

2) 당신이 할 수있는 루프 :이 당신에게 데이터에 대한 모든 속성을 표시합니다

var str = ""; 
for(var prop in data){ 
    str += prop + ": " + data[prop] + "\n"; 
} 
alert(str); 

. 이러한 속성 중 일부는 객체 일 수도 있습니다.이 경우 객체를 반복해야합니다. (data.test) 경고, 당신의 JQuery와 변경 알림 (데이터)에 다음

<?php 
    echo json_encode(array('test' => 'This is a test')); 
?> 

:

0

는 사용이 당신에게 무슨 일이 일어나고 있는지의 빠른 아이디어를 제공합니다. 그렇게하면 시작할 수 있습니다 - 또는 적어도 빌드로 샘플로 작동합니다. 행운을 빕니다!