首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xml源的自动完成文本框不工作

使用xml源的自动完成文本框不工作
EN

Stack Overflow用户
提问于 2014-12-06 04:12:22
回答 1查看 702关注 0票数 0

我有一个返回字符串列表的web服务。我试图将它作为我的自动提示文本框的数据源。以下是我的webservice返回的内容

代码语言:javascript
复制
   <ArrayOfString>
   <string>Air Pollutants</string>
   <string>Air Facilities</string>
   <string>Air Emissions</string>
   <string>Air Pollution</string>
   <string>Air Quality Monitoring</string>
   <string>Air Piracy</string>
  </ArrayOfString>

这是我使用ajax的jquery。

代码语言:javascript
复制
 $(document).ready(function () {
    $('#<%=txt_search_extantdata.ClientID%>').autocomplete({
        source: function (request, response) {
            $.ajax({ type: 'POST',
                url: "/_layouts/Extantlibrarywebservice/getdata.asmx/GetSearchData",
                data: { 'src': $("#<%=txt_search_extantdata.ClientID%>").val() },

                                    dataType: "xml",
                                    success: function (xmlResponse) {
                                        response($(xmlResponse).map(function () {
                                            return { value: $(this).text() };
                                        }))
                                    },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                }

            });

        },
        minLength: 2

    });
});

我当前获取的输出就像一个带有所有附加条件的项目

代码语言:javascript
复制
          Air PollutantsAir FacilitiesAir EmissionsAir Pollution Air Quality MonitoringAir Piracy

我想在out中显示的是一行字符串。

代码语言:javascript
复制
       Air Pollutants
       AirFacilities
       Air Emissions
       Air Pollution
       Air Quality Monitoring
       Air Piracy

我不知道我做错了什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-06 12:51:20

好的,您的成功回调应该是这样的:

代码语言:javascript
复制
  success: function (xmlResponse) {
                        response($("string", xmlResponse).map(function () {
                            return {
                                value: $(this).text()
                            };
                        }));
                    },

因为您在这里获得响应,其中包含ArrayofStrings中字符串的xml节点,所以要在响应中映射的选择器应该如下所示

代码语言:javascript
复制
$("string", xmlResponse)

希望能帮上忙!!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27328242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档