2016-10-04 44 views
0

我將在Angular.js中使用GET請求中的數據,如下所示。如何在Angular.js中正確使用字符串中的變量

var app = angular.module('Saidas',[]); 
    app.controller('Status', function($scope, $http, $interval) { 
     $interval(function(){ 
      var request = $http.get('/SaidasSite');  
      request.success(function(data) { 
       if (data='QTD1LEDON') { 
        $('#QTD1LAMP').bootstrapToggle('on'); 
       } else (data='QTDLEDOFF'){ 
        $('#QTD1LAMP').bootstrapToggle('off'); 
       } else (data='QTD2LEDON'){ 
        $('#QTD2LAMP').bootstrapToggle('on') 
       } else { $('#QTD1LAMP').bootstrapToggle('on'); } 
      }) 
      .error(function(data){ 
       console.log('Error: ' + data); 
      }); 
     }, 5000); 

當我收到「QTD1LEDON」,我會在我的代碼爲「ON」的toogle一個按鈕,當我收到QT1LEDOFF,我會的toogle爲「OFF」。但是當我做這個代碼時,比較總是一個「QTD1LEDON」。我究竟做錯了什麼?

對不起,我的英語不好

+1

你檢查什麼成功回調「數據」參數返回? –

+0

檢查Jannu說的數據。 console.log(data) 爲什麼不使用ng模型呢? 用else替換前2個else。 – Wandrille

+2

你比較正確嗎?那麼爲什麼單個'='(這是賦值運算符)。比較使用'=='(比較運算符)。試試&讓我知道 –

回答

1

你正在做一個assigment而不是比較。因此,在第一個如果你給數據的價值'QTD1LEDON',並且總是如此。

您需要修改:

if (data='QTD1LEDON') { 

有:

if (data==='QTD1LEDON') { 
0

您應該使用===供對比,不是=這是分配。

0

您正在作業,而不是攀比,你也有3條else語句,你應該只有1個,所以你應該有類似

if (data === 'QTD1LEDON') { 
    ... 
} else if (data === 'QTDLEDOFF') { 
    ... 
} else if (data === 'QTD2LEDON') { 
    ... 
} else { ... } 
相關問題