1.async
类型:Boolean
默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
In Javascript, it is impossible for a function to return
an asynchronous result. The function will usually return before the AJAX request is even made.
Here is a function that does the job quite well. I could not get the Best Answer above to work. jQuery.extend({ getValues: function(url) { var result = null; $.ajax({ url: url, type: 'get', dataType: 'xml', async: false, success: function(data) { result = data; } }); return result; } });
2.一个关于push的小问题
var categoryData = []; $scope.category.forEach(function(item){ var categoryDataItem = {}; categoryDataItem["category"] = item.name; categoryData.push(categoryDataItem); });
var categoryData = []; var categoryDataItem = {}; $scope.category.forEach(function(item){ categoryDataItem["category"] = item.name; categoryData.push(categoryDataItem); });
这个在用过之后,就会发现第二种方法达不到想要的效果。因为categoryData存储的是categoryDataItem,而每一次categoryDataItem都会被改变,所以最后会发现categoryData存储的对象都是一样的
3.var cell = []; cell[0]]["rowSpan"]=1; 是错误的,必须前面还要加一个cell[0] = {};
4.如何判读一个数组没有定义或者不为空
if (typeof image_array !== 'undefined' && image_array.length > 0) { // the array is defined and has at least one element }
这个数组已经定义且不为空