2016-10-04 66 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 { ... } 
相关问题