2013-03-26 4 views
1

url과 같은 finance.yahoo 주식 데이터를 가져 오기위한 http 요청을 보내려합니다. http://finance.yahoo.com/d/quotes.csv?s=GAIL.NS+BPCL.NS+%5ENSEI&f=snl1hgp은 csv 파일을 반환합니다. 응답 데이터를 읽고 Javascript 또는 JQuery 모바일을 사용하여 listview에 채우고 싶습니다. 내가 언급 한 어떤 링크도 나를 도왔다.jquery를 사용하여 finance.yahoo API 호출하기

다음 코드를 사용하여 시도 :

$.ajax({ 
    type: "GET", 
    url: "http://finance.yahoo.com/d/quotes.csv", 
    data: "s=GAIL.NS+BPCL.NS+%5ENSEI&f=snl1hgp", 
    dataType: "text/csv", 
    success: function(data) { 
     alert(JSON.stringify('data is :' + data)); 
    } 
}); 

내가 경고로 빈 데이터를 얻을. 샘플 코드 또는 유용한 링크를 제공해 주시면 감사하겠습니다.

답변

2

문제는 크로스 도메인이라고 생각합니다.

Cross-Domain get CSV file

여기에 다른 답 : Yahoo JSONP Ajax Request Wrapped in callback function

여기에 동작하는 예제 : 여기 Displaying ajax results from yahoo finance using underscore.js

D에 JSONP 요청을 만드는 작업 jsfiddle은 또 다른 여기에 대한 질문이 있습니다 .yimg.com을 사용하여 데이터를 가져옵니다. http://jsfiddle.net/gp6zL/

YAHOO.Finance.SymbolSuggest.ssCallback = function (data) { 
     alert(JSON.stringify(data)); 
    }; 
    var query; 
    query = 'Google'; 
    if (query.length > 0) { 

     $.ajax({ 
      type: "GET", 
      url: "http://d.yimg.com/autoc.finance.yahoo.com/autoc", 
      data: { 
       query: query 
      }, 
      dataType: "jsonp", 
      jsonp: "callback", 
      jsonpCallback: "YAHOO.Finance.SymbolSuggest.ssCallback", 
     }); 
    } 
+0

죄송합니다. 실수였습니다. 내 게시물을 편집했습니다. 알림 (데이터)도 공백으로 표시됩니다. – Anil

+0

귀하의 링크를 언급했습니다. 하지만 지금은 얻을 : 출력으로 null – Anil

1

jQuery를 사용하지 않습니다. 다음 코드는 whitelist "finance.yahoo.com"만큼 오래 사용할 수 있습니다.

var request = new XMLHttpRequest(); 
request.open("GET", "http://finance.yahoo.com/d/quotes.csv?s=GAIL.NS+BPCL.NS+%5ENSEI&f=snl1hgp", true); 
request.onreadystatechange = function() {//Call a function when the state changes. 
    if (request.readyState == 4) { 
     if (request.status == 200 || request.status == 0) { 
      console.log(request.responseText); 
     } 
    } 
} 
request.send();