我创建了一个函数来进行返回 JSON 字符串的 jquery AJAX 调用。就其本身而言,它运行良好——当我将字符串输出到控制台 ( console.log
) 时,我可以看到 JSON 字符串输出。
function getJSONCustomers()
{
var response = $.ajax({
type: "GET",
url: "getCustomers.php",
dataType: "json",
async: false,
cache: false
}).responseText;
return response;
};
但是,当我设置一个变量以包含该函数调用的输出时:
var mydata = getJSONCustomers();
,然后尝试在我的Twitter-Bootstrap TypeAhead函数(表单自动完成)中使用它:
data = mydata;
console.log(data);
我在控制台中收到“未定义”错误。
下面是这段代码的片段:
$(document).ready(function() {
var mydata = getJSONCustomers();
$('#Customer').typeahead({
source: function (query, process) {
customers = [];
map = {};
data = mydata;
console.log(data);
// multiple .typeahead functions follow......
});
有趣的是,如果我将数据变量设置为从 AJAX 函数返回的硬编码 JSON 字符串,一切正常:
data = [{"CustNameShort": "CUS1", "CustNameLong": "Customer One"}]
如何在我的 typeahead 函数中使用 JSON 字符串?