jquery 自动完成从本地文件获取数据
jquery autocomplete get data from local file
我正在尝试获取自动完成的数据,但是当我没有产生任何结果时。没有错误,什么都没有。
$(document).ready(function()
{
$('#txtAutoComplete').autocomplete({
delay: 0,
source: function (request, response) {
$.ajax({
url: "auto.json",
dataType: 'json',
data: request,
success: function( data ) {
response( $.map( data, function( item ) {
return(item.name)
}));
}
});
},
minLength: 1
});
});
示例 json 文件是:
[
{
"name": "John",
"value": "Doe"
}{
"name": "1",
"value": "2"
}{
"name": "33",
"value": "44"
}{
"name": "name",
"value": "surname"
}
]
我已将 auto.json 文件放在与 javascript 文件相同的文件夹中。但是我以后需要使用不同的文件夹。此时我有一个问题:如果我将 url 设置为 "/homeDirectoryPath/auto.json" 会起作用吗?或者如何使用同一项目中另一个文件夹中的文件?
您的 JSON 文件无效 JSON。试试这个:
[
{
"name": "John",
"value": "Doe"
},{
"name": "1",
"value": "2"
},{
"name": "33",
"value": "44"
},{
"name": "name",
"value": "surname"
}
]
如果您想验证 JSON 数据,请使用 JSONLint。
以下对我使用上述 JSON 数据有效。我没有您正在使用的脚本,所以我只是在测试 ajax 函数:
$(document).ready(function() {
$.ajax({
url: "auto.json",
dataType: 'json',
success: function( data ) {
console.log(data);
}
});
});
我正在尝试获取自动完成的数据,但是当我没有产生任何结果时。没有错误,什么都没有。
$(document).ready(function()
{
$('#txtAutoComplete').autocomplete({
delay: 0,
source: function (request, response) {
$.ajax({
url: "auto.json",
dataType: 'json',
data: request,
success: function( data ) {
response( $.map( data, function( item ) {
return(item.name)
}));
}
});
},
minLength: 1
});
});
示例 json 文件是:
[
{
"name": "John",
"value": "Doe"
}{
"name": "1",
"value": "2"
}{
"name": "33",
"value": "44"
}{
"name": "name",
"value": "surname"
}
]
我已将 auto.json 文件放在与 javascript 文件相同的文件夹中。但是我以后需要使用不同的文件夹。此时我有一个问题:如果我将 url 设置为 "/homeDirectoryPath/auto.json" 会起作用吗?或者如何使用同一项目中另一个文件夹中的文件?
您的 JSON 文件无效 JSON。试试这个:
[
{
"name": "John",
"value": "Doe"
},{
"name": "1",
"value": "2"
},{
"name": "33",
"value": "44"
},{
"name": "name",
"value": "surname"
}
]
如果您想验证 JSON 数据,请使用 JSONLint。
以下对我使用上述 JSON 数据有效。我没有您正在使用的脚本,所以我只是在测试 ajax 函数:
$(document).ready(function() {
$.ajax({
url: "auto.json",
dataType: 'json',
success: function( data ) {
console.log(data);
}
});
});