Dojo中跨域获取新浪股票接口返回的数据(练习)

首先,配置好环境,不罗嗦了,然后,使用request中的script模块中的方法,获取代码地址为http://hq.sinajs.cn/list=sh000001,核心代码如下:

 1             on(dom.byId("clickToShowCode"),"click",function(){
 2                 var stockCode = dom.byId("stockNo").value;
 3                 console.log(stockCode);
 4                 var url = "http://hq.sinajs.cn/list=" + stockCode;
 5                 script.get(url,{
 6                 // jsonp: "callback"
 7                 }).then(function(data){
 8                     //console.log(hq_str_sh000001); 
 9                     dom.byId("showData").innerHTML = eval("hq_str_"+stockCode);
10                     //console.log(eval("hq_str_"+stockCode).constructor);
             //判断一个给定变量的类型可以使用constructor属性
11 },function(err){ 12 console.log(err); 13 }); 14 });

 这里主要使用了dojo/request/script这个模块,下面给出一个相关的简单示例:

 1  require([
 2     "dojo/request/script", 
 3     "dojo/dom", 
 4     "dojo/dom-construct", 
 5     "dojo/json", 
 6     "dojo/on",
 7     "dojo/domReady!"], function(script, dom, domConst, JSON, on){ 
 8         on(dom.byId("startButton"), "click", function(){ 
 9             domConst.place("<p>Requesting...</p>", "output"); 
10             script.get("helloworld.jsonp.js", { 
11               jsonp: "callback"
12             }).then(function(data){ 
13               domConst.place("<p>response data: <code>" + JSON.stringify(data) + "</code></p>", "output"); 
14         }); 
15     }); 
16  });

 

posted @ 2015-10-20 16:37  奈河桥  阅读(626)  评论(0编辑  收藏  举报