阳十语桐
2019-09-25 00:41
采纳率: 66.7%
浏览 1.2k

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

图片说明



1处声明全局变量



2处累加局部变量



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




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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • boyMiSen 2019-09-25 14:26
    已采纳

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

    已采纳该答案
    打赏 评论
  • 学习的态度 2019-09-25 09:17

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

    打赏 评论
  • Kevin.Y.K 2019-09-25 09:43

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

    打赏 评论
  • zea_liu 2019-09-25 09:57

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

    打赏 评论

相关推荐 更多相似问题