• Moss2007 jQuery调用Webservice获取列表数据 更新数据


    Moss2007 jQuery调用Webservice获取列表数据 更新数据

    1、获取数据如下:

    <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>

    <script type="text/javascript">

    //-------------------------异步获取数据
    //---------------------------------------------------
    $(document).ready(function() {

    // Create the SOAP request
    // NOTE: we need to be able to display list attachments to users, hence the addition of the
    // <queryOptions> element, which necessitated the addition of the <query> element

    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='Body' /> \
    <FieldRef Name='ID' /> \
    <FieldRef Name='Attachments' /> \
    </ViewFields> \
    </viewFields> \
    <query> \
    <Query /> \
    </query> \
    <queryOptions> \
    <QueryOptions> \
    <IncludeAttachmentUrls>TRUE</IncludeAttachmentUrls> \
    </QueryOptions> \
    </queryOptions> \
    </GetListItems> \
    </soapenv:Body> \
    </soapenv:Envelope>";

    // our basic SOAP code to hammer the Lists web service
    $.ajax({
    url:
    "http://yourdomain.net/_vti_bin/lists.asmx",
    type:
    "POST",
    dataType:
    "xml",
    data: soapEnv,
    // 如果要同步获取数据加上下面这句话,默认为true
    // async: false,
    error: printError,
    complete: processResult,
    contentType:
    "text/xml; charset=\"utf-8\""
    });
    });

    // basic error display that will pop out SOAP errors, very useful!
    function printError(XMLHttpRequest, textStatus, errorThrown)
    {
    alert(
    "There was an error: " + errorThrown + " " + textStatus);
    alert(XMLHttpRequest.responseText);
    }


    // main method that will cycle through the SoAP response nodes
    function processResult(xData, status)
    {
    $(xData.responseXML).find(
    "z\\:row").each(function() {
    if ($(this).attr("ows_Title") == null || $(this).attr("ows_Title") == "") {
    //TODO
    }
    else {
    //TODO
    }
    });
    }
    </script>

    2、更新数据如下:

    <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js">

    <script type="text/javascript" language="javascript">

    function TestMethod(Name) {
    var soap
    = createEnvelope(Name);
    var ws
    = new ActiveXObject("Microsoft.XMLHTTP");
    ws.open(
    "POST", "http://yourdomain.net/_vti_bin/lists.asmx", false);
    ws.setRequestHeader(
    "Content-Type", "text/xml; charset=utf-8");
    ws.setRequestHeader(
    "SOAPAction", "http://schemas.microsoft.com/sharepoint/soap/UpdateListItems");
    ws.send(soap);
    }

    function createEnvelope(Name) {

    var soap
    = '<?xml version=\"1.0\" encoding=\"utf-8\"?>';
    soap
    += '<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope\/\">';
    soap
    += '<soap:Body>';
    soap
    += '<UpdateListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">';
    soap
    += '<listName>TestList</listName>';

    //如果是新建记录Cmd="New" 如果是更新记录Cmd="Update"
    soap += '<updates><Batch OnError="Continue"><Method ID="1" Cmd="New"><Field Name="Name">' + Name + '</Field></Method></Batch></updates>';

    soap
    += '</UpdateListItems></soap:Body></soap:Envelope>';

    return soap;
    }
    </script>
  • 相关阅读:
    Python解析Yahoo的XML格式的天气预报数据
    如何卸载wineQQ?
    纪念我的第一篇
    hihocoder1062 最近公共祖先·一
    hihocoder1055 刷油漆(树形DP)
    hihocoder1050 树中的最长路径
    hihocoder1049 根据二叉树的先序序列和中序序列求后序序列
    hihocoder1044 状态压缩
    hihocoder1043 完全背包
    hihocoder1038 01背包
  • 原文地址:https://www.cnblogs.com/bmib/p/1986828.html
Copyright © 2020-2023  润新知