jsonp成功请求数据后,没有执行resopnse

Java大佬~ 2018-06-26 05:29:51
最近在抓QQ音乐的播放源数据,于是就用了jsonp去请求数据,但是函数老是没有执行response这一步,通过chrome的调试工具network看了一下response,是这么个玩意,哪位大佬知道是什么问题,有重谢!



调试工具上看的response是这样的

发现response里面的内容少了个函数名,请问这是怎么回事


我的请求代码


jsonp封装代码
import originJSONP from 'jsonp'

export default function jsonp (url, data, option) {
url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)
return new Promise((resolve, reject) => {
originJSONP(url, option, (err, data) => {
if (!err) {
resolve(data)
} else {
reject(err)
}
})
})
}

function param (data) {
let url = ''
for (var k in data) {
let value = data[k] !== undefined ? data[k] : ''
let string = '&' + k + '=' + encodeURIComponent(value)
url += string
}
return url
}


公共类代码
export const commonParam = {
g_tk: 5381,
inCharest: 'utf-8',
outCharest: 'utf-8',
notice: 0,
format: 'json'
}
export const options = {
param: 'jsonpCallback'
}
export const ERROR_OK = 0
...全文
693 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Java大佬~ 2018-06-28
  • 打赏
  • 举报
回复
以解决,使用webpack的proxyTable的代理可以结局跨域
ambit_tsai-微信 2018-06-26
  • 打赏
  • 举报
回复
引用 4 楼 呵呵我很专业的回复:
oh no,老马坑我
QQ音乐做了这么久肯定有所防范的
Java大佬~ 2018-06-26
  • 打赏
  • 举报
回复
oh no,老马坑我
天际的海浪 2018-06-26
  • 打赏
  • 举报
回复
人家网站只提供json格式的数据。就只能用你自己的服务器做代理了
Java大佬~ 2018-06-26
  • 打赏
  • 举报
回复
那我该怎么办,没办法请求这个数据了吗
天际的海浪 2018-06-26
  • 打赏
  • 举报
回复
你用jsonp方式请求,对方服务器也必须返回jsonp格式的数据才行。
但是除非人家网站就是为其它网站提供外链服务的,否则不可能给你jsonp格式的数据。

39,084

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧