如何使用AJAX调用中的数据
我有以下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代码中的建议。 因此,它应该使用从DB返回的数据,而不是像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. (VM392 jquery-3.2.1.min.js:4)
通过循环obj
并推入数组并使用来提取category
数据。
看看代码片段。
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'], }); */