未捕获的TypeError:无法读取未定义的属性“标记”

时间:2015-09-25 12:43:52

标签: javascript jquery reactjs

我的完整代码在http://pastebin.com/xwJ2zi2y。我正在尝试做的,当Ajax的值刷新flash_token时,它应该调用order_list函数。当我刷新页面时,它给出order_list函数的输出一次,但是当它启动间隔时,refresh_token它在pastebin代码中的第94行给出错误“未捕获的TypeError:无法读取未定义的属性'标记'”。并且没有运行order_list函数,当refresh_token的值发生变化时。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

您需要在成功回调中存储用法的上下文。这是你的固定功能:

refresh_token : function(){
                    var self = this;
                    $.ajax({
                      type: 'GET',
                      url: "/order/refresh",
                      headers: {
                       Accept : "application/json",
                       "Content-Type": "application/json"
                      },

                      success: function (resp){
                                 var newToken = resp;
                                     console.log(newToken); //it give the value of refresh eg. ["20150925313"]

                                 if(newToken != self.state.token){

                                   self.setState({ token: newToken});
                                            //      console.log(this.state.resp);
                                 } 
                              }
                    });
                },

答案 1 :(得分:-1)

shouldComponentUpdate帮助我解决此问题。在渲染函数之前看到下面的代码。

shouldComponentUpdate:function(nextProps,nextState){return true;                  },

我的完整运行代码在http://pastebin.com/xwJ2zi2y。 感谢