2012-02-02 8 views
1

현재 asp.net 프로젝트에서 작업 중입니다. 나는 oodle 웹 서비스를 사용합니다. Oodle은 URL을 통해 결과를 제공합니다. URL에서 데이터를 가져 오려면 Link을 사용합니다. 코드에서자바 스크립트를 통해 가능합니까?

나는 결과 문자열 가져 오기 위해 코드를 다음을 사용 뒤에 :

string url = 
    @"http://api.oodle.com/api/v2/listings? 
     key=TEST&region=chicago&category=vehicle&format=json"; 
var jsonString = new WebClient().DownloadString(url); 

지금, 내 문제는 내가 그 코드를 실행 버튼 클릭 이벤트를 사용입니다. 그러나 이것은 JavaScript을 통해 무엇입니까? 왜냐하면 Javascript을 사용하면 결과 데이터에 쉽게 액세스 할 수 있기 때문입니다.

답변

1

Javascrypt를 통해 페이지에 Ajax 요청을 만들 수 있습니다. 당신은 어떤 자바 스크립트 프레임 워크를 사용하는 경우 AJAX 요청이 좀 크로스 브라우저 호환되지 않습니다으로

here's a tutorial on that

, JQuery와 같이, 이러한 요청은 확인하는 것이 더 쉽습니다.

the JQuery version

+0

사실 내 요점은 코드를 뒤집어서는 안된다는 것입니다. 왜냐하면 jsonstring은 자바 스크립트를 통해 접근하기 쉽기 때문에 자바 스크립트로 이것을 관리하고 싶기 때문입니다! – Chintan

+0

Jquery는 javascrypt로 작성된 Javascrypt 프레임 워크이므로 코드 뒤에 포함되지 않습니다. – Igarioshka

0

은 당신이 원하는 것은 AJAX 요청입니다. 확실히 라이브러리가 없으면 할 수 있지만 크로스 브라우저 문제로 인해 라이브러리를 사용하는 것이 좋습니다. 이 (스크립트의 문서 준비 부분)이 같이 볼 수 있었다 예를 들어 jQuery를 함께이 API를 사용하면 자바 스크립트에서 직접 소비 할 수 있다는 것을 의미 JSONP를 반환처럼

$("#idOfButton").click(function() { 
    $.get('string url= @"http://api.oodle.com/api/v2/listings?key=TEST&region=chicago&category=vehicle&format=json', function(jsonString) { 
    alert('Data is now in variable jsonString!'); 
    }); 
}); 
2

것 같습니다.

$.ajax({ 
    url: 'http://api.oodle.com/api/v2/listings?key=TEST&region=chicago&category=vehicle&format=json', 
    type: 'GET', 
    dataType: 'jsonp', 
    jsonpCallback: 'jsonOodleApi', 
    success: function(result) { 
     alert(result.current.region.id); 
    } 
}); 

가 여기에 live demo : 당신이 jQuery를 사용하는 경우 예를 들어, 당신은 $.ajax() 방법을 사용할 수 있습니다.


그리고 당신은 jQuery를 사용하지 않는 경우 단순히 콜백 정의 할 수 있습니다 :

<script type="text/javascript" src="http://api.oodle.com/api/v2/listings?key=TEST&region=chicago&category=vehicle&format=json"></script> 

가 여기에 live demo의 : 다음

var jsonOodleApi = function(result) { 
    alert(result.current.region.id); 
}; 

와이 URL에 <script> 포인팅을 포함한다.

분명히 API 호출을 호출 할 때마다이 스크립트 태그를 DOM에 동적으로 삽입 할 수 있습니다.

+0

그것은 작동합니다! 고맙습니다 ! – Chintan

+0

이것은 oodle을 위해 제한됩니다! src ='https : //graph.facebook.com/100003596013776/friends/? access_token = AAACEdEose0cBAEvWtwZBsyq7RVCEUssCnolhYKUQpXPLkoxvZASmknwHovauVAV3ZCeadOE4rhqD4Ch6wGCZAOYMZA4B6xk5PAWmwZAcZC6zlVPL36TMNJb'을 변경하려고하면 아무런 효과가 없습니다! 왜 그렇게? – Chintan

+1

@ 아니오, 페이스 북에 익숙하지 않습니다. 이것이 작동하지 않는다면 아마도 JSONP를 지원하지 않기 때문일 것입니다. –

관련 문제