Как использовать данные из вызова AJAX - PullRequest
0 голосов
/ 14 октября 2018

У меня следующий вызов JQuery AJAX, который успешно возвращает данные из базы данных -

$.ajax({
   url : 'get_hashtags.php',
   type : 'GET',
   success : function(data){
      var obj = jQuery.parseJSON(data);
      console.log(obj);
   }
});

Это возвращенные данные -

(2) [{…}, {…}]
0
:
{category: "ht.austria"}
1
:
{category: "ht.landscapes"}
length
:
2
__proto__
:
Array(0)

Теперь я хотел бы использоватьданные возвращаются из базы данных в качестве предложений в следующем коде Javascript.Поэтому вместо «предложений», таких как ht.austria, следует использовать данные, возвращаемые из БД.

$('#inputTags').amsifySuggestags({
    suggestions: ['ht.austria','ht.landscape'],
    classes: ['bg-warning','bg-warning'],
});

К сожалению, я не уверен, как это сделать.Я попытался вызвать функцию в успешной части вызова Ajax, но получаю сообщение об ошибке, что amsifySuggestags не является функцией.Может кто-нибудь помочь, пожалуйста?

Обновление

Я сейчас попробовал следующий код, предложенный Shiv, но я все еще получаю ошибку-

$.ajax({
   url : 'get_hashtags.php',
   type : 'GET',
   success : function(data){
      var obj = jQuery.parseJSON(data);
      console.log(obj);
      var suggestionsArr = []; 

      obj.forEach(function(item){ 
        suggestionsArr.push(item.category) 
      });

      createHashtags(suggestionsArr);
   }
});

function createHashtags(data)
{
    $('#inputTags').amsifySuggestags({
        suggestions: data,
        classes: ['bg-warning','bg-warning'],
    });
}

Это ошибка, которую я получаю -

Uncaught TypeError: $(...).amsifySuggestags is not a function
at createHashtags (upload.php:1557)
at Object.success (upload.php:1551)
at i (VM392 jquery-3.2.1.min.js:2)
at Object.fireWith [as resolveWith] (VM392 jquery-3.2.1.min.js:2)
at A (VM392 jquery-3.2.1.min.js:4)
at XMLHttpRequest.<anonymous> (VM392 jquery-3.2.1.min.js:4)

1 Ответ

0 голосов
/ 14 октября 2018

извлеките category данные с помощью цикла obj, вставьте их в массив и используйте.

посмотрите на фрагмент кода.

var obj = [
  {category: "ht.austria"},
  {category: "ht.landscapes"}
];

var suggestionsArr = [];

obj.forEach(function(item){ 
  suggestionsArr.push(item.category) 
});


console.log('suggestionsArr : ', suggestionsArr);


   /* $('#inputTags').amsifySuggestags({
    suggestions: suggestionsArr,
    classes: ['bg-warning','bg-warning'],
}); */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...