ajax返回String类型导致的flowplayer报错p.replace is not a function问题

来源:互联网 发布:淘宝网粉红大布娃娃 编辑:程序博客网 时间:2024/05/29 09:18

今天用flowplayer拉流遇到了一个比较奇葩的问题,大致思路是js根据页面的名称采用ajax从后台获取号码,然后用号码创建任务输出rtmp流,flowplayer进行播放,但是flowplayer初始化的时候报了个p.replace is not a function的错误,大致是说flowplayer库里的某个函数没定义吧,一直以为是库引用的问题,换了半天也没解决,最后一层层跟踪,发现直接用名称创建任务就正常,根据号码就不正常,所有问题肯定出在ajax获取号码这一步,一开始写的是返回String,改为返回List<String>就可以了,这种问题非常隐蔽,因为返回String的时候跟踪代码,返回的值也正常,估计是格式不对,导致了后面的错误,报错又是在引用库的js代码里。下面附上代码。

java代码:

@RequestMapping(value = "getTerminalNumber")@ResponseBodypublic List<String> getTerminalNumber( @RequestParam String name) {//注意,返回List类型List<String> checkRet = new ArrayList<String>();String number = "";List<TerminalConfigPO> TerminalConfigPOs = terminalConfigDao.findByField("terminalName", name);if(TerminalConfigPOs.size()>0){number = TerminalConfigPOs.get(0).getE164Number();}checkRet.add(number);return checkRet;}

js代码:

var telNumber;$.ajax({type: "POST",url:   path+'/ajax/getTerminalNumber',cache: false,async:false,//同步data:{"name":name},dataType: "json",success: function (ret) {if(ret.length>0){telNumber = ret[0];}},error: function (ret) {return;}});



0 0