jQuery自动完成与远程json无法在IE中工作

时间:2014-01-28 07:03:16

标签: jquery wcf

 $('#text_search').autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "Service1.svc/GetSites",
                    maxHeight: 400,
                    width: 300,
                    zIndex: 9999,
                  //  data: {},
                   // data: "{ 'SName': 's'}",
                    data: '{"input": "' + request.term + '"}',
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                     dataFilter: function (data) { return data; },
                    success: function (data) {
                        alert(data);
                        response($.map(data.GetSitesResult, function (item) {
                        return {
                            value: item.SiteName
                        }
                         }))
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {

                    }
                });
            },
            minLength: 1
        });

在上面的代码中创建了一个WCF服务,传递参数并获取JSON结果。我创建了一个DataContract网站和操作合同作为OperationContract。使用列表填充值并返回JSON结果。这是使用post方法发布WCF服务的数据

对于上面的代码我得到的响应是{“GetSitesResult”:[{“SiteName”:“site1”},{“SiteName”:“site2”},{“SiteName”:“site3”}]}。相同的代码在chrome和firefox中工作,但自动完成功能在IE中不起作用。如果在上面的代码中做了任何错误,请帮助我

1 个答案:

答案 0 :(得分:0)

尝试这个,但在CSS

中放入autocomplete css(来自jquery ui)
 $('#textbox id').autocomplete({
    source: function (request, response) {
        $.getJSON("url?term=" + request.term, function (data) {
            response(data);
        });
    },
    minLength: 1,
    delay: 100
});