前端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个回答

他那个直接提供的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>
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问