问题:在for循环里调接口,调接口的请求方式用ajax的写法,发现每次循环都会跳过ajax,导致获取不到接口数据
问题解决:for循环是单线程的,是同步的。ajax是异步的。把ajax变成同步的就可以了: async: false
for(var i=0; i<contentList.length; i++){ urlString = contentList[i].url; var requestParams = {'userId': window.params.userId,'sysId': window.params.sysId,'paramsObj': {'account': contentList[i].account,}}$.ajax({ type: 'post', url: urlString, dataType: JSON.stringify(requestParams),contentType: 'application/json',async: false, // 这个把异步的ajax变成同步success: function(res){ console.log(res,'res'); }, error: function(data){ } }); }