2013-08-21 4 views
2

여기 내 목표를 달성하기 위해 일부 코드를 시도했지만 아직 해결책을 찾지 못했습니다.HTTP를 사용하여 JSON 배열 가져 오기

목표 : URL에서 GET 메서드를 사용하여 웹에서 JSON 객체 배열을 가져와야합니다. Javascript 나 HTML로해야만합니다. 나는 jQuery와 함께 아약스와 자바 스크립트에서 노력 해왔다. 아이디어는 내가 JSON 객체 배열을 가져와야하는 웹 페이지를로드 할 때입니다. JSON objets 배열을 조작하여 문자열로 가져 와서 저장하려고합니다. 나는 내가 항상 응답을 얻을 브라우저에서 내 코드를 실행하면 http://www.example.com/example

[ 
    { 
     "type": "1", 
     "id": "50a92047a88d8", 
     "title": "Real Madrid" 
    }, 
    { 
     "type": "1", 
     "id": "500cbb1a5ef23", 
     "title": "Fernando Alonso" 
    } 
] 

에서 얻을 수있는 JSON 배열의

예.

HTML 코드

<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> 
    <script src="http://code.jquery.com/ui/1.8.23/jquery-ui.min.js"></script> 
    <script type="text/javascript" src="script.js"></script> 
    <link type = "text/css" rel = "stylesheet" href = "stylesheet.css"/> 
</head> 
<body onload = "httpGet('http://www.example.com/example')"> 
</body> 
</html> 

자바 스크립트 코드

function httpGet(theUrl) 
{ 
$.getJSON(theUrl, function(data) 
{ 
    $.each(data, function() 
    { 
     console.log(this['title']); 
    }) 
}); 
} 

다른 자바 스크립트 코드

$.ajax(
{ 
    url: theUrl, 
    type: 'GET', 
    dataType: 'json', 
    accept: 'application/json', 
    success: function(data) 
    { 
     console.log(data); 
     var objets= $.parseJSON(data); 

     $.each(objets, function(i, obj) 
     { 
      console.log(obj.title); 
     }); 
    } 
}); 

그리고 내가 가진 :

내가 해봤 코드의 일부 조각입니다 증명하다 여기에서 코드를 ... (스탁 오버플로) ...

고맙습니다. 내 영어로 대단히 감사합니다.

편집 :

은 몇 시간 전 내가 캐릭터 라인 화와 시도,하지만 난 정말 어떻게 작동 할 수 알려져 있지 않습니다. 나는 다음과 같은 입증 :

function httpGet(theUrl) 
{ 
    var xmlHttp = null; 
    xmlHttp = new XMLHttpRequest(); 
    xmlHttp.open("GET", theUrl, true); // I tried with true and with false 
    xmlHttp.send(); 
    var answer= xmlHttp.responseText; 
    var str = JSON.stringify(answer); 
    console.log(str); 
    var jsonResponse = JSON.parse(str); 
    console.log(jsonResponse); 
} 
+0

지정된 URL 즉, 동일한 도메인이 페이지가로드, _your_ 도메인에서 가리키는 : 나는 다음 줄을 수정 한 HTML 파일에서

function httpGet() { $.getJSON('phpfile.php', function(data) { $.each(data, function(i, obj) { console.log("object: " + i + ", title: " + obj.title); }); }); } 

? JSON 또는 다른 형식의 표준 Ajax 요청은 교차 도메인에서 작동하지 않습니다. – nnnnnn

+0

stringify for this –

+1

그래서 성공하면 '데이터'에 무엇이 있습니까? 성공을 거둔 적이 있습니까? 어쩌면 대신 '오류'가 발생합니다. 콜백을 추가하고 무슨 일이 일어나는 지 보셨습니까? 또한 Chrome/Firefox 검사기에서 네트워크 탭을 확인하는 것이 일반적으로 유용합니다. – Bartek

답변

-1

당신은 자바 스크립트와 상호 도메인 데이터를 가져올 수 없습니다를, 당신은 당신의 도메인 아래에 데이터를 입력하거나 그것을 얻을, 아니면 그냥 페이지에 인쇄하는 JSONP를 사용합니다.

+0

나는 당신이 나를 이해하지 못했거나 자신을 잘 설명하지 않았다고 생각한다. GET 호출로 검색된 JSON 객체 배열을 변수에 저장하려고합니다. – Fer7

+0

GET 호출 주소가 스크립트와 동일한 도메인이 아닌 경우 호출이 실패하고 응답이 없습니다. 그냥이 [링크] (http://www.w3.org/TR/access-control/)을 확인하십시오 – Lookis

+0

그러면, 도대체 내가 어떻게해야합니까? jsoup로 가능합니까? – Fer7

-1

내가 한 줄의 PHP 코드 그 후

<?php 
    echo file_get_contents("http://www.example.com/example"); 
?> 

내 문제에 대한 해결책을 발견 한 나는 자바 스크립트 파일에 PHP 파일을 참조 할 필요가 있었다. 마지막으로 JSON 객체 배열의 키 - 값 쌍에 액세스 할 수 있습니다.

<body onload = "httpGet()"> 
관련 문제