0

Я пытаюсь вернуть назад результаты, такие как информацию об этом после определения определенных слов из API облаков Google. Я просто делаю жестко закодированные результаты, возвращающиеся в приложение.Как определить определенные слова в строках и результаты возврата? (AngularJS)

Например, используя текст облака Google api, приложение вернет строку текста в поле Panadol. Внутри строки они будут идентифицировать слово «panadol» и отображать результаты, такие как описание назад.

Это Google Cloud API учебник я получил от: https://www.sitepoint.com/image-recognition-with-the-google-vision-api-and-ionic/

index.html:

Это где будет отображаться возвращается:

listCtrl.image_description является строка из Google Cloud Api listCtrl.identify_result - описание после идентификации

<h3 class="text-center" ng-show="listCtrl.image_description"> {{ listCtrl.image_description }}</h3> 
<h3 class="text-center" ng-show="listCtrl.identify_result"> {{ listCtrl.product_result }}</h3> 

homecontroller.js:

res.responses [0] [ключ] [0] .description это результат возвращается из API

var key = me.detection_types[me.detection_type] + 'Annotations'; 
me.image_description = res.responses[0][key][0].description; 

Это код, который я использовал для идентификации, но он не работает

function contains(str,text) { 
    return str.indexOf(text) >= 0 ; 
    } 
    if (contains(res.responses[0][key][0].description,'panadol')){ 
    me.product_word = 'Panadol is a drug'; 
    } 

App.js

nameApp.factory('Authorization', function() { 

authorization = {}; 
authorization.image_description = ''; 
authorization.product_result = ''; 

return authorization; 
}); 

nameApp.controller('listCtrl', function($scope, Authorization) { 
$scope.test = Authorization; 
}); 

Любая помощь с созданием функции будет глубоко признателен. Спасибо!

Текущая ошибка: Рез не определен

+0

не могли бы вы вставить ответ «result.response» здесь – MGA

ответ

0

У вас есть ошибка синтаксиса в вашем содержит функцию.

Попробуйте это:

function contains(str,text) { 
    return str.indexOf(text) >= 0; 
} 
+0

Сделанные изменения. Все еще не работает. «res не определен» – John

+0

Вы получаете эту ошибку, потому что вы не определили переменную 'res'. Я не могу помочь без полного кода. Это происходит из 'product_result'? В этом случае попробуйте 'var res = JSON.parse (product_result)' или 'var res = product_result' – Bludwarf

1

Понял решена.

Это было решено путем смещения этого кода внутри контроллера чуть ниже отклика. Спасибо всем за помощь :)

function contains(str,text) { 
return str.indexOf(text) >= 0 ; 
} 
if (contains(me.image_description,'panadol')){ 
me.product_result = 'test'; 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^