首页 > 解决方案 > 如何解析json响应ajax

问题描述

我必须使用这个网络服务:

https://**urlHidden**/?token=**tokenhidden**&service=1&type=1&from=contacto-registro&q=main avenue

我有以下响应(有点像谷歌自动完成的代理):

{
    "results": [
        {
            "id": "EilNYWluIFN0cmVldCwgQ29mZmV5dmlsbGUsIEthbnNhcywgRUUuIFVVLiIuKiwKFAoSCVt0INUWgreHEZSY9RjWjyjKEhQKEgl7mbvYYIS3hxFwzLJwOPRvMQ",
            "value": "Main Street, Coffeyville, Kansas, EE. UU."
        },
        {
            "id": "EitNYWluIEF2ZW51ZSwgUGFzc2FpYywgTnVldmEgSmVyc2V5LCBFRS4gVVUuIi4qLAoUChIJ_7Wdp9T-wokRw1OYMU6oYkMSFAoSCZtKxyzU_sKJEYMsBts4ASqB",
            "value": "Main Avenue, Passaic, Nueva Jersey, EE. UU."
        },
        {
            "id": "EidFYXN0IE1haW4gU3RyZWV0LCBUeXJvLCBLYW5zYXMsIEVFLiBVVS4iLiosChQKEgl53l1O13u3hxHCNKLUGbpuIRIUChIJWR7wnNB7t4cRuM2NY71ufM0",
            "value": "East Main Street, Tyro, Kansas, EE. UU."
        },
        {
            "id": "EidXZXN0IE1haW4gU3RyZWV0LCBUeXJvLCBLYW5zYXMsIEVFLiBVVS4iLiosChQKEgkJaDsa0Hu3hxHMoYOfYaBnKxIUChIJWR7wnNB7t4cRuM2NY71ufM0",
            "value": "West Main Street, Tyro, Kansas, EE. UU."
        },
        {
            "id": "EiVNYWluIFN0cmVldCwgTGliZXJ0eSwgS2Fuc2FzLCBFRS4gVVUuIi4qLAoUChIJ_e3Ap4SHt4cRjQnGfC4uqlASFAoSCdudQGKEh7eHEX794InV8vLz",
            "value": "Main Street, Liberty, Kansas, EE. UU."
        }
    ],
    "status": "OK"
}

我需要把它放在这个 select2 上(Id 和 value)

 <select class="select2 select2-form-control" id="direccionContactoAuto" name="direccionContactoAuto" style="width:300px"></select>

试过这个没有用:

$('#direccionContactoAuto').select2({
        ajax: {
            url: '**URL hidden**',
            type: 'GET',
            data: function (params) {
                var query = {
                    token:'**token hidden**',
                    service: '1',
                    type: '1',
                    q: params.term,
                    from: 'form-cont'
                }
                return query;
            }
        }
    });

说我不知道​​我在做什么,并且一直在寻找例子。

没有响应,不是信息的自动收费,我怀疑当用户键入时我缺乏一些捕获来让选择从服务中重新加载....试过这个:


 $("#direccionContactoAuto").select2({
                formatNoMatches: function (term) {
                    var length = term.length;

                    if (length === 6) {
                        //***************
                        console.log(length);
                        console.log(term);
                    }
                    return false;
                }
            });

正如假设的那样,只要涉及 6 个字符,它就会正确返回我输入的内容。

我错过了什么?

标签: javascriptjsonweb-servicesparsingjquery-select2

解决方案


推荐阅读