您的位置:首页 > 其它

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

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

java代码:

@RequestMapping(value = "getTerminalNumber")
@ResponseBody
public 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;
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐