Javascript 页面加载时将URL中的json数据保存到浏览器内存

Javascript 页面加载时将URL中的json数据保存到浏览器内存,javascript,json,jquery-ui-autocomplete,Javascript,Json,Jquery Ui Autocomplete,我有一个URL,其中包含一些JSON格式的数据。我想在页面加载时将此数据保存在本地浏览器内存中。稍后,我需要使用这个本地副本作为JQuery自动完成的源。目前,我将autocomplete源指向这个URL,所以它非常频繁地调用该服务。 请帮助我将数据保存在浏览器本地内存中,以及如何将其用于jQuery自动完成。 谢谢。如果您真的想在本地更永久地存储它,请查看 你应该可以做一些类似的事情 $(document).ready(function { $.get('http://example.

我有一个URL,其中包含一些JSON格式的数据。我想在页面加载时将此数据保存在本地浏览器内存中。稍后,我需要使用这个本地副本作为JQuery自动完成的源。目前,我将autocomplete源指向这个URL,所以它非常频繁地调用该服务。 请帮助我将数据保存在浏览器本地内存中,以及如何将其用于jQuery自动完成。
谢谢。

如果您真的想在本地更永久地存储它,请查看

你应该可以做一些类似的事情

$(document).ready(function {
    $.get('http://example.com', function (data) {
        localStorage.setItem('autocomplete', data.toString());
});
然后在任何你可以使用的页面上

var autocompleteData = JSON.parse(localStorage.getItem('autocomplete')
$('#myautocomplete').autocomplete({source: autocompleteData});
但是仅仅声明一个页面范围变量并使用它就足够了。这样,它会在每次页面加载时调用一次,您不需要使其过期

<script>

    var autocompleteSource;

    $(document).ready(function {

        $.get('http://example.com', function (data) {
            autocompleteSource = JSON.parse(data);
        });

        $('#myautocomplete').autocomplete({source: autocompleteSource});

    });
</script>
然后,您将声明该方法仅用于本地数据集

$('#myautocomplete').autocomplete(source : function (request, response){
    var filtered = autocompleteSource.filter(function(item){
        return item.toLowerCase().indexOf(request.term.toLowerCase()) > -1
    });
    response(filtered);
});

谢谢你的回复。我不想永久保存它。是否有其他方法将其保存为临时文件。@Nidhin-我在下面提供了一个示例这是我当前的源文件。你能用“autocompleteSource”替换它吗来源:function(request,response){$.ajax({url:“service url”,success:function(data){var search\u data=[];data.countries.map(function(itemCountry){itemCountry.cities.map(function(itemCity){itemCity.destinations.map)(function(itemDestination){if(itemDestination.name.toLowerCase()).indexOf(request.term.toLowerCase())!=-1{itemDestination.label=itemDestination.name;search_data.push(itemDestination);}}}}}响应(search_data);}
$('#myautocomplete').autocomplete(source : function (request, response){
    var filtered = autocompleteSource.filter(function(item){
        return item.toLowerCase().indexOf(request.term.toLowerCase()) > -1
    });
    response(filtered);
});