经常使用ajax,可很多时候,由于使用的是别人封装过得控件,例如使用jquery-easyui,里边很多调用都是使用ajax,经常出现没有数据的情况。但由于封装的控件已经把调用ajax的异常吞掉了,有时也是懒得写,所以出现没有数据的情况,没办法确定是真的没有数据还是读取数据出错,导致没有数据,抑或是根本就没有发出ajax请求?
其实不管谷歌浏览器,IE浏览器,还是火狐的firebug,都能很清楚的看到具体是哪一块的原因。
一下以IE10为例进行讲解:
1打开IE10的开发人员工具,如下:
2点击网络,然后点击开始捕获
3刷新网页,使网页开始调用ajax,如下图:
可以清楚的看到网页发出了那些请求,包括样式,图片和ajax请求(/Eas.WebsiteUpdate/tools/GetHouseAssetsLink.ashx?OperationType=listPOST)
如果在此处没有发现ajax请求或者请求的地址不正确,就很明显自己写的ajax代码有问题,如果没有问题,则进入下一步
4选中ajax请求,然后点击转到详细视图,如下:
清楚的看到发出请求的类型是post还是get,传递的查询字符串。
清楚的看到post的数据
清楚的看到post发出后,返回的数据
如果确定以上的没有问题,单页面依然没有反应,就很容易知道,页面没有数据的原因,ajax数据正常返回后的处理数据的部分脚本有错误。