zhongxiang_hu 2021-11-23 11:58 采纳率: 50%
浏览 79

easyplayer.js能否修改默认的请求方式

问题遇到的现象和发生背景

视频推送服务部署在nginx.前端使用esayplayer的url参数是流地址。但是easyplayer会发一个head请求。前端直接使用get请求能获取到流信息,但是用head 不行.

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

easyplayer 是否提供修改请求方式.比如修改成get请求.

  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2021-11-23 12:35
    关注


    该是可以改的,没研究过这个播放器请求需要返回什么数据。上面是官网的js文件,搜索f.open(t.method.toUpperCase(),然后修改为f.open("GET"就变get请求了,但是回调获取数据可能会有问题。下面是xhr的回调函数。f为xhr对象,p是onreadystatechange事件

                  f[p] = function() {
                        if (f && (4 === f.readyState || v) && (0 !== f.status || f.responseURL && 0 === f.responseURL.indexOf("file:"))) {
                            var n = "getAllResponseHeaders"in f ? a(f.getAllResponseHeaders()) : null
                              , r = t.responseType && "text" !== t.responseType ? f.response : f.responseText
                              , o = {
                                data: r,
                                status: 1223 === f.status ? 204 : f.status,
                                statusText: 1223 === f.status ? "No Content" : f.statusText,
                                headers: n,
                                config: t,
                                request: f
                            };
                            i(e, c, o),
                            f = null
                        }
                    }
    
    
    评论
    zhongxiang_hu 2021-11-25 01:13

    img

    回复
    CSDN专家-showbo 回复 zhongxiang_hu 2021-11-25 01:28

    500是服务器错误,看response选项卡返回什么错误。或再看下系统日志。改成get请求需要修改源代码才行了
    下载的压缩包和官网在线的文件打包压缩后有出入,可以搜索 .method.toUpperCase() 这个内容,然后前面会有个一字母变量,将那个字母变量和这个搜索内容一起替换为"GET"

    img

    回复
    zhongxiang_hu 回复 CSDN专家-showbo 2021-11-25 01:39

    已经按照您的建议替换了

    img

    回复
    展开全部6条评论
    编辑
    预览

    报告相同问题?

    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部