2015-09-25 199 views
1

我的完整代码是http://pastebin.com/xwJ2zi2y。我试图做的是,当Ajax的refresh_token函数值的值改变时,应该调用order_list函数。当我刷新页面时,它会给出order_list函数的输出一次,但是当它开始间隔refresh_token时,它会在pastebin代码中出现错误“Uncaught TypeError:Can not read property'token of undefine”on line 94。并且没有运行order_list函数,当refresh_token的值发生变化时。 在此先感谢。未捕获TypeError:无法读取未定义的属性'令牌'

回答

-1

shouldComponentUpdate帮我解决了这个问题。在渲染函数之前请参阅下面的代码。

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

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

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); 
           } 
           } 
        }); 
       }, 
+0

非常感谢你MysterX,这解决了这个错误。但是当令牌值改变时,我仍然无法调用Orderlist组件。 –

+0

嗨MysterX,非常感谢你的帮助,你能帮我找出为什么我的代码不会调用orderlist函数时令牌值的变化。 –

+0

@Amit,对不起,但我没有反应,也没有研究它,所以我不能给你更多的帮助 – MysterX

相关问题