m0_38111567
xiehzi5233
采纳率100%
2018-09-10 04:33

前端jsonp请求新浪行情接口返回var语句代码取不到值

20

http://hq.sinajs.cn/list=sh510050
http://hq.sinajs.cn/?list=CON_OP_10001409,CON_OP_10001381,CON_OP_10001375,CON_OP_10001367,CON_OP_10001357,CON_OP_10001311,CON_OP_10001281,CON_OP_10001275,CON_OP_10001241,CON_OP_10001242,CON_OP_10001243,CON_OP_10001233,CON_OP_10001231,CON_OP_10001229,CON_OP_10001211,CON_OP_10001212,CON_OP_10001213,CON_OP_10001214,CON_OP_10001215,CON_OP_10001216,CON_OP_10001217,CON_OP_10001218,CON_OP_10001219
这是请求的接口
在前段用http ajax请求会提示跨域,所以用的jsonp
this.$jsonp('http://hq.sinajs.cn/',{
callback:null,
list:'OP_UP_5100501809'
}).then((res)=>{
console.log(res)
}).catch(()=>{
console.log('jsonpError')
})
callback:null,是为了将callback放在list前面,否则不能正常返回数据,
成功返回以下值:
var hq_str_sh510050="50ETF,2.485,2.491,2.469,2.495,2.464,2.468,2.469,149039300,368759160.......
then与catch却都没有执行

这种格式的返回值怎么才能以字符串方式取到?
用后台做代理能解决这个问题,但是前端有没有处理办法?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • showbo GoCityPass新加坡曼谷通票 3年前

    他那个直接提供的js数据,直接script加载就行了,用ajax会报错,跨域了,你用jsonp没用啊,接口又不提供jsonp数据,强制指定获取不到数据还会报错

     <script src="http://hq.sinajs.cn/list=sh510050"></script>
    <script>console.log(hq_str_sh510050)</script>
    <script src="http://hq.sinajs.cn/?list=CON_OP_10001409,CON_OP_10001381,CON_OP_10001375,CON_OP_10001367,CON_OP_10001357,CON_OP_10001311,CON_OP_10001281,CON_OP_10001275,CON_OP_10001241,CON_OP_10001242,CON_OP_10001243,CON_OP_10001233,CON_OP_10001231,CON_OP_10001229,CON_OP_10001211,CON_OP_10001212,CON_OP_10001213,CON_OP_10001214,CON_OP_10001215,CON_OP_10001216,CON_OP_10001217,CON_OP_10001218,CON_OP_10001219"></script>
    <script>
        for(attr in window)
            if(attr.indexOf("hq_str_CON_OP")==0)console.log(window[attr])
    </script>
    
    点赞 1 评论 复制链接分享

为你推荐