在做jquery ajax的时候遇到了一个问题,我用js写的一些方法,对网页中的元素进行颜色渲染,在js中是没有问题的,数据是我自己使用字符串拼接的,而且是json格式的,当然也用了$.parseJSON();方法将字符串转化成了json对象进行操作的。当我把数据换成了是用ajax请求后,就在success的回调函数中进行操作,数据能得到,网页中的元素也能得到,就是无法进行颜色渲染,最后在做同步异步发现在这里除了问题。jquery的ajax默认时异步的额,就是在请求数据的时候可以去做其他操作,但是这样就不会立即执行我success回调中的一些列操作了,所以添加了同步异步的属性,设置为同步,就是在保证数据请求完成了再进行颜色渲染操作。
$.ajax({
        type: "GET",
url: "test.action",
async:false,//默认异步,这里要使用同步,保证数据完整后才进行渲染着色
dataType: "json",
success: function(msg){
 $.each(msg,function(i,n){
total += n.flow;//求总和
//颜色渲染操作
doMakeColor();
});