Ajax有多个url feed

时间:2013-03-22 01:12:34

标签: javascript jquery ajax autocomplete fcbkcomplete

我有三个网址返回不同的bean填充不同的JSON响应(比如用户手机,地址和电子邮件)。

url='/mobile.do?username=x&password=y'
url='/email.do?username=x&password=y'
url='/address.do?username=x&password=y'

对于以下自动完成插件(fcbkcomplete):

  <script type="text/javascript">
    $(document).ready(function(){                
        $("#mySelect").fcbkcomplete({
            json_url: "?!!",

        });
    });
</script>

现在我想使用这些URL来填充数据并将数据添加到单个字段而不是三个不同的字段。因此,不知何故,我需要混合这些URL或类似的东西。

我想知道最好的方法是什么?我们可以设置多个网址吗?

1 个答案:

答案 0 :(得分:2)

您可以通过更改函数load_feed来修改插件。这没有经过测试,因此可能需要一些tweeking。

function load_feed(etext) {
    counter = 0;
    if (options.json_url_list && maxItems()) {
        if (options.cache && json_cache_object.get(etext)) {
            addMembers(etext);
            bindEvents();
        } else {
            getBoxTimeout++;
            var getBoxTimeoutValue = getBoxTimeout;
            setTimeout(function () {

                if (getBoxTimeoutValue != getBoxTimeout) return;

                var count = 0;
                var all_data = [];

                var finished = function () {
                    if (!isactive) return; // prevents opening the selection again after the focus is already off
                    json_cache_object.set(etext, 1);
                    bindEvents();
                };

                for (var i = 0; i < options.json_url_list.length; i++) {
                    $.getJSON(options.json_url_list[i], {
                        "tag": xssDisplay(etext)
                    }, function (data) {
                        addMembers(etext, data);
                        count += 1;
                        if (count === options.json_url_list.length) finished();
                    });
                }
            }, options.delay);
        }
    } else {
        addMembers(etext);
        bindEvents();
    }
}