js 用全局变量累加 取出for循环得到的值

图片说明



1处声明全局变量



2处累加局部变量



3处把获取完遍历后的值传入函数内




但是2处能alert累加的值,3处获取的值还是0.0

4个回答

ajax是异步请求的,所以才会出现楼主你这种情况。而且我们不提倡for循环里进行后端数据操作,这很可能被服务器拒绝(因为你在1s内请求太多次了)。
楼主其实可以先使用一个数组或者对象将你的数据存储起来,然后再一次性post给后端,主要后端只要拿你的数组或对象解析就好了,对于后端来说也方便

你的ajax是不是没成功
你可以console.log(item_price)或者alert(item_price)看看有没有输出或者输出的是啥

你的ajax是异步请求,第3处在第2处之前执行了,你可以将ajax改成同步的,或者优化一下,请求不要循环发送,改成一次批量发送,在success中处理第3步

两个办法,第一个,为你的ajax增加一个属性async:false;这个是把他设置成同步。第二个,把你的3写在2之后,放在同一个块里面

立即提问
相关内容推荐