Ajax出现error常见情况(详细版)-火狐浏览器(Firefox)兼容性问题
作为一个程序员,遇到兼容性问题真的很苦恼,尤其是对我这种前端小菜鸡来说遇到了甚是凄惨。一般来说兼容性问题出现率Chrome < IE < Firefox (╯°Д°)╯︵┴┴ 。
言归正传,最近遇到了几次ajax兼容性问题,因此进行了归纳总结,已备以后查看。
function dealMessageById(messageId,dealFlag)
{
$.ajax({
url: getRootPath() + "/usercenter/message/UserMessage.do?method=DealMessageById",
type: "post",
async:false, //一般都不写,默认为true。具体信息看下面
data: {
"messageId" : messageId,
"dealFlag" : dealFlag
},
dataType: 'json', //data值类型
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function(data) {if(data.code == 200)
{
systemMessageInit();
refreshMessage();
$("#systemTable").html("系统消息("+data.siteInforCount+")");
}
else
{
dialog.alert('失败', '失败');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState);
alert(textStatus);
//以上3个值所对应的意义进入另一篇博文status、readyState、textStatus状态查看
}
});
};
常见情况:
1.如果你是火狐浏览器(Firefox),出现错误调用error方法或者ajax请求了多次,那么极有可能是异步请求的原因。
添加 async : false ,
-> async. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。
-> async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
2.后台返回的dataType类型和前台js写的不一致会跳入error
传的不是json格式的数据就不用写 dataType : 'json' ,
json格式错误也会跳入error.{"test":1} 所以要注意格式。
在不需要返回值的情况下,扔按模板格式,设置了dataType:"json",参数;这时候,ajax传值正确时,出现200返回成功状态下报错的特殊情况。
3.url:'http://192.168.1.100:8080/Xxx
如果你请求的数据不在本地或者不在同一服务器中,那么就可能是跨域问题,要用jsonp,即 dataType : 'jsonp' , 当然这意思最基础的方法,jsonp和json的格式还是有点小区别的: jsonp比json多了个方法,即 json= " json格式数据 ",jsonp= " 方法名(json格式数据)",至于跨域的详细的解释和解决方法找度娘吧。
不常见的情况:
1.data没有写
解决方法:data为空也一定要传"{}";不然返回的是xml格式的。并提示parsererror. data:"{}"。
2.url路径有中文
解决方法:去掉中文。
3.传的数据格式ajax不支持
解决方法:换成json或其他ajax支持的数据格式。
4.字符编码不匹配
解决方法:统一UTF-8。
Ajax出现error常见情况(详细版)-火狐浏览器(Firefox)兼容性问题的更多相关文章
- linux版火狐浏览器部署详解
Firefox下载地址 Firefox全历史版本下载: http://ftp.mozilla.org/pub/firefox/releases/ Firefox驱动问题下载 https://gith ...
- 火狐浏览器Firefox Firebug使用方法
什么是Firebug 从事了数年的Web开发工作,越来越觉得现在对WEB开发有了更高的要求.要写出漂亮的HTML代码:要编写精致的CSS样式表展示每个页面模块:要调试javascript给页面增加一些 ...
- 火狐浏览器Firefox 如何使用iMacros 自动填写网页表单
1 我们首先访问一个想要自动填写表单的网站.我们以百度为例,右侧有登录窗口. 2 然后我们点开刚安装上的iMacros插件,一般安装之后就会自动出现在浏览器的某个地方,点击记录选项卡,再点击记录. ...
- 火狐浏览器Firefox上DownThemAll插件
DownThemAll插件支持断点续传.多线程下载,可以大幅度提高下载速度. 在Windows平台上,要下载大量的文件,迅雷自然是首选:但在非Windows平台上,只要安装一个火狐浏览器,再安装Dow ...
- 火狐浏览器Firefox 如何下载网页的SWF视频,硅谷动力的网站视频怎么下载
1 使用火狐浏览器查看到底视频在哪里,我随便开了一段视频,发现这个SWF(外框套了一个Control.swf,内层才是真实的09-class.swf) 2 我们从下面这一段代码中进行分析 < ...
- 导致提前layout的常见情况(通过chrome浏览器自带的控制台可以看到)
1.通过js获取DOM属性 2.增/删/DOM节点 3.改变浏览器窗口大小 4.改变字体 5.激活css伪类 6.修改DOM的属性,涉及到大小.位置等(该颜色不会激活提前的layout) 7.其他js ...
- 火狐浏览器Firefox不支持alt怎么
因为HTML代码的解析不同,需要把标签文字"alt"换成"title",就可以在FireFox中正常显示了. 如下所示,IE对于alt和title均可以支持 但 ...
- 火狐浏览器FireFox 如何将整个网页保存为图片
使用Friefox的Pearl Cresent Page Saver插件 如图所示网页有很长的滚动条 点击右下角的该插件选项,将整个页面保存为图片 在桌面上得到了这样一个文件,大小是1263×6083 ...
- 火狐浏览器Firefox如何使用插件,火狐有哪些好用的插件
1 CoorPreviews 不打开网页链接预览该网页的内容. 预览如图所示: 点击关闭旁边的钉子可以让该窗口保持开着并且浏览速度加快.这对于快速浏览图片时非常有用. 2 FoxTab 3D方式预览网 ...
随机推荐
- HPC —— 高性能计算
CUDA,目前只有 NVIDIA 支持: OpenCL,CUDA Tesla 卡很贵: 1. 术语及概念 SMP:"对称多处理"(Symmetrical Multi-Process ...
- 自定义Behavior 实现Listbox自动滚动到选中项
原文:自定义Behavior 实现Listbox自动滚动到选中项 blend为我们提供方便的behavior来扩展我们的控件,写好之后就可以在blend中方便的使用了. 下面是自定义的behavior ...
- uml系列(七)——互动图
互动图uml描述如何对象的描述在系统交互动作 . 废话不多说,还是来张图: 概念 交互图,主要描写叙述的是系统中的一组对象的消息的传递的.为对象间的交互定义了一个可视的表示方法. 构 ...
- nginx 502错 failed (13: Permission denied)
安装nginx和php-fpm之后出现502错误 找了个理由说php-fpm不启动 ,但在我的实践中,该过程开始 找了半天没找到病因.视图nginx记录后 我发现下面的错误 [crit] 2686#0 ...
- 怎么给罗技K480 增加Home、End键
最近看张大妈上很多人分享了我的桌面,有感于整天低头码字不利健康,隧鼓捣起自己的电脑桌了. 此处省略N字... 进入正文,我码字用的是罗技的K480蓝牙键盘 码了几行代码,发现没有Home.End键,这 ...
- WPF 4 Ribbon 开发 之 应用程序菜单(Application Menu)
原文:WPF 4 Ribbon 开发 之 应用程序菜单(Application Menu) 在上一篇中我们完成了快捷工具栏的开发,本篇将讲解应用程序菜单开发的相关内容.如下图所示,点击程序窗 ...
- jquery ready和window onload区别
window onload是指标签加载完成,并且标签资源加载完成: jquery ready是指标签加载完成,标签资源可能未加载完成 $(document).ready(function(){});= ...
- PHP获得指定日期所在月的第一天和最后一天
function getdays($day){ $firstday = date('Y-m-01',strtotime($day)); $lastday = date('Y-m-d',strtotim ...
- HTTP协议解析(格式和举例十分清楚)
掌握HTTP虽然不是必须的,但是如果你知道它的工作原理,那么在学习JSP开发中的某些知识就可以易如反掌了. 一,HTTP协议详解之URL篇 http(超文本传输协议)是一个基于请求与响应模式的.无状态 ...
- Windows 8各种流之间的转换
//String 转 Buffer private IBuffer GetBufferFromString(String str) { using (InMemoryRandomAccessStrea ...