js代码如下:
function exportTable(){
var prjId=<s:property value='adcProject.projectId'/>;
console.log("PID为:"+PID);
console.log("projectid为:"+prjId);
$.post("${basePath}/xmgl/project_exportTableBysrcInfoAndActivity.action",{pid:PID,projectId:prjId,activityCell:exportActivity,plantid:PLANTID},function(data){
if(data!=null && data.substring(0,1)!='f'){
window.open(data);
}else{
alert(data.substring(1));
}
});
}
同一账号登录调用这个function,不管用哪个浏览器,都可能出现不同的结果,有时正常,有时变成传参错误,对于兼容性一窍不通的小白真的是搞得晕头转向了,求大神解决~
你这个没看出有什么兼容性问题,PID从哪里搞来的没看到。。prjId你后面的值是数字没有,不是有可能报错
还有就是window.open会被浏览器当做广告拦截掉,离开用户交互环境都会被当做广告,除非当前窗口跳转
window.open(data,'_self');
首先 console.log 不是所有浏览器兼容的;
其次注意你输出的JSON格式,要完全符合标准;
{pid:PID,projectId:prjId,activityCell:exportActivity,plantid:PLANTID}
参数名用引号隔开,向这样 “pid”:PID