Javascript 如何为Jquery UI自动完成设置JSON格式?

Javascript 如何为Jquery UI自动完成设置JSON格式?,javascript,json,jquery-ui,autocomplete,Javascript,Json,Jquery Ui,Autocomplete,我正在尝试用jQueryUI创建一个自动完成,我以前遇到过不知道为什么它不工作的问题。现在,我已经将问题过滤下来,并将其转移到一个集中的区域 处境 一,。如果数据是本地的,则自动完成工作 二,。自动完成不起作用,因为JSON数据的格式不完全相同 三,。不确定如何使JSON数据以与本地数据相同的格式回送 本地工作的Javascript: <script type="text/javascript"> $(function() { $( "#zip" ).autocompl

我正在尝试用jQueryUI创建一个自动完成,我以前遇到过不知道为什么它不工作的问题。现在,我已经将问题过滤下来,并将其转移到一个集中的区域

处境

一,。如果数据是本地的,则自动完成工作

二,。自动完成不起作用,因为JSON数据的格式不完全相同

三,。不确定如何使JSON数据以与本地数据相同的格式回送

本地工作的Javascript:

<script type="text/javascript"> 
    $(function() {
  $( "#zip" ).autocomplete({
  source: [ {label:"705",value:"AIBONITO",state:"PR"},{label:"610",value:"ANASCO",state:"PR"},{label:"611",value:"ANGELES",state:"PR"},{label:"612",value:"ARECIBO",state:"PR"},{label:"601",value:"ADJUNTAS",state:"PR"}],
    minLength: 1,
    select: function( event, ui ) {
            event.preventDefault();
            $('#zip').val(ui.item.label);
            this.value = ui.item.label;
            $('#city').val(ui.item.value);
        $('#state').val(ui.item.state);
    }
  });
});

    </script> 
Javascript远程:

<script type="text/javascript"> 
    $(function() {
  $( "#zip" ).autocomplete({
  source: 'autozip.php',
    minLength: 1,
    select: function( event, ui ) {
            event.preventDefault();
            $('#zip').val(ui.item.label);
            this.value = ui.item.label;
            $('#city').val(ui.item.value);
        $('#state').val(ui.item.state);
    }
  });
});

    </script> 
试图找出如何删除标签、值和状态周围的双引号。
谢谢你的时间

双引号不影响结果。您的问题应该是由其他因素引起的,但是当JSON出现时,它就会停止工作,并且在新的php中不会出现任何问题。本地和远程结果之间的唯一区别是双引号。OK。请在resdata之前添加console.logdata以检查输出。您好,刚刚尝试过,JSON显示在日志中,但它不会创建自动完成。我想知道是否有一种方法可以在加载页面时直接加载数据,但在输入框中键入字母时不加载数据?因为有很多数据,加载所有数据需要1-2秒。实际上,后端页面应该过滤请求信以动态生成结果,然后只返回建议的10条记录。我已经更新了答案。
<script type="text/javascript"> 
$(function() {
    $( "#zip" ).autocomplete({
        source: function (req, res) {
            $.get('autozip.php?q=' + req.term).then(function (data) {
                res(data);
            });
        },
        minLength: 1,
        select: function( event, ui ) {
            event.preventDefault();
            $('#zip').val(ui.item.label);
            this.value = ui.item.label;
            $('#city').val(ui.item.value);
            $('#state').val(ui.item.state);
        }
    });
});
</script> 
 [ {"label":"705","value":"AIBONITO","state":"PR"},{"label":"610","value":"ANASCO",state:"PR"},{"label":"7885","value":"WHARTON","state":"NJ"},{"label":"7981","value":"WHIPPANY","state":"NJ"},]
<script type="text/javascript"> 
$(function() {
    $( "#zip" ).autocomplete({
        source: function (req, res) {
            $.get('autozip.php?q=' + req.term).then(function (data) {
                res(data);
            });
        },
        minLength: 1,
        select: function( event, ui ) {
            event.preventDefault();
            $('#zip').val(ui.item.label);
            this.value = ui.item.label;
            $('#city').val(ui.item.value);
            $('#state').val(ui.item.state);
        }
    });
});
</script>