qq_charm
2018-05-22 05:40
采纳率: 30.8%
浏览 978

关于JS变量赋值的问题

我在JS文件的最顶部定义了一个变量var totaPage=0;
然后执行了一个ajax,在回调函数里想个totaPage赋值应该怎么写
success:function(data){
totaPage=data.totapage;
}
我这样些不行

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

17条回答 默认 最新

  • jjl1004 2018-05-22 06:43
    已采纳

    你这样是没有什么问题的 能赋值

    已采纳该答案
    打赏 评论
  • qq_28417109 2018-05-22 05:45

    首先你要确定他们在同一个函数下面,因为var定义是局部变量,如果不在同一个function中可以使用全局变量 或者在function内部定义变量 但是我估计你一会可能要用这个变量,所以建议你把VAR 去掉 试试看

    打赏 评论
  • qq_24496031 2018-05-22 05:58

    返回值先非空判断下
    确认是int类型的情况下
    success:function(data){
    totaPage=parseInt(data.totapage);
    }

    打赏 评论
  • qq_38704141 2018-05-22 05:58

    赋值不成功,你可以先确定一下返回的data中是否有数据,如果有数据,是否js获取的方式不对

    打赏 评论
  • lihongbiao0610 2018-05-22 05:58

    你没有说出不行出现的情况是怎么样!!!???
    按你描述变量totaPage定义在最顶部,所以是个全局变量。但ajax默认是异步的,所以我猜你说的不行,应该是异步的问题。

    打赏 评论
  • VIVIAN_WO 2018-05-22 06:28

    var totaPage=data.totapage;

    打赏 评论
  • weixin_42124395 2018-05-22 06:47

    应该是:data里面没有totapage这属性

    打赏 评论
  • w_t_y_y 2018-05-22 06:53

    这个data可能是个json字符串,需要转换成json数组。

    打赏 评论
  • qq_25697255 2018-05-22 07:26

    你要确定data有没有数据,data.totapage存不存在.有没有值啊

    打赏 评论
  • qq_33175376 2018-05-22 07:58

    先确定data.totapage存不存在,再看一下totaPage所在的作用域,还有一点就是在请求外面打印totaPage是不行的,系统会先执行你打印的那一句,这个时候还没有赋值

    打赏 评论
  • Y__C__X 2018-05-22 08:00

    先判断数据存在与否
    你应该是没有成功赋值

    打赏 评论
  • llllyyyyhhhh1111 2018-05-22 10:54

    打个断点走到data.totapage,需要用eval转换一下在赋值,但是有可能因为异步的问题data.totapage的值还没有附上就过去了,解决办法:给页面赋值语句写到success下面

    打赏 评论
  • Strong_ding 2018-05-22 15:34

    我觉得是因为ajax默认是异步而导致的问题,你可把async参数设置成false,设置成同步,这样会顺序执行你的代码

    打赏 评论
  • 创造之 2018-05-22 16:45

    totapage是全局变量,所以问题出在data.totapage上你应该先console.log(data.totapage)确定你拿到的是正确的数据,再做判断

    打赏 评论
  • ________________1 2018-05-23 02:34

    你先别赋值0 直接赋值"空"就行

    打赏 评论
  • 蔚蓝_lee 2018-05-24 03:41

    如果排除作用域的问题,很大可能是 异步 data 为空 或者 data 没有totaPage的属性,

    打赏 评论
  • ge_1134120 2018-05-25 02:35

    看看data.totapage数据是否存在,如果存在,再看看totaPage作用域范围

    打赏 评论

相关推荐 更多相似问题