xiehzi5233 2018-09-10 04:33 采纳率: 100%
浏览 1482
已采纳

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

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条回答

  • Go 旅城通票 2018-09-10 06:12
    关注

    他那个直接提供的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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题