• JQuery操作SharePoint Web Services之查询列表数据


    最近整理了使用JQuery来操作SharePoint的Web Services的一些操作,这一篇文章介绍的是:查询列表数据。

    首先介绍一下基本的要求:

    1.有一个SharePoint的列表。(废话)

    2.有jquery-1.3.2.min.js。位置放在SharePoint站点的根目录的js文件夹里面。(如果没有就新建一个)

    3.这个列表有默认的“Title”和自定义的“city“。前者代表区号,后者代表城市名称。(啰嗦)

    效果图如下:

    输入titlede 值就可以得到对应的City值。

    在页面上面添加一个内容编辑器,代码如下:

    Title:<input type="text" id="txtTitle" /
    <input type="button" id="btnGetCity" value="Get City Name" onclick="QueryCity('txtTitle')" /> <br />
    City:
    <input type="text" id="txtCity" />
    <script language="javascript" src="/js/jquery-1.3.2.min.js" type="text/javascript"></script>
         <script language="javascript" type="text/javascript">
             
    function QueryCity(controlId)
             { 
           
    var CityNo=$("#"+controlId).val();
           $(document).ready(
    function() {
           
    var soapEnv =
                
    "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
                    <soapenv:Body> \
                        <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
                            <listName>
    TestList</listName> \
                            <viewFields> \
                                <ViewFields> \
                                <FieldRef Name='
    Title' /> \
                                <FieldRef Name='
    City' /> \
                                </ViewFields> \
                            </viewFields> \
                            <query> \
                                <Query><Where> \
                                <Eq> \
                                <
    FieldRef Name='Title' /> \
                                <
    Value Type='Text'>"+CityNo+"</Value> \
                                </Eq> \
                                </Where> \
                                </Query>\
                            </query> \
                        </GetListItems> \
                    </soapenv:Body> \
                </soapenv:Envelope>
    ";

           $.ajax({
                url: 
    "/sites/learner/_vti_bin/lists.asmx",
                type: 
    "POST",
                dataType: 
    "xml",
                data: soapEnv,
                complete: processResult,
                contentType: 
    "text/xml; charset=\"utf-8\""
           });
             });


              
    function processResult(xData, status) {
                                $(xData.responseXML).find(
    "z\\:row").each(function() {
                                         
    var city=$(this).attr("ows_City");
                         $(
    "#txtCity").val(city);
                                });
                       }
             }
        
    </script>

     代码中需要注意的地方都做了颜色标记。

    1.引用的Web Services地址是WebUrl+"/_vti_bin/lists.asmx"

    2.自定义列要在ViewFields节点里面像<FieldRef Name='city' />这样添加

    3.如果自定义列是中文名字,要使用该列的InnerName值

    4.获取值的部分:var city=$(this).attr("ows_City");这里对应的值是"ows_"+字段的InnerName。

  • 相关阅读:
    16进制与10进制
    npm模块管理器
    Vue2+VueRouter2+webpack 构建项目实战(四)接通api,先渲染个列表
    cross-env使用笔记
    webpack 运行提示“The ‘mode‘ option has not been set”的原因和解决方法
    cnpm install -S 与cnpm install -D (dependencies和devDependencies的区别)
    Webpack基础学习
    webpack入门——webpack的安装与使用
    npm init 之package.json
    入门 Webpack,看这篇就够了
  • 原文地址:https://www.cnblogs.com/Areas/p/2232103.html
Copyright © 2020-2023  润新知