3

我正在使用 javascript 运行一些 Web 服务 (SharePoint 2010 SocialDataServices)。我已经测试了“CountCommentsOnURL”命令没有任何问题,但是当我尝试使用例如“AddComment”命令时,我收到以下错误:

“服务器无法处理请求。此页面的安全验证无效。在 Web 浏览器中单击返回,刷新页面,然后重试操作。此页面的安全验证无效。在 Web 浏览器中单击返回,刷新页面,然后再次尝试您的操作。”

浏览互联网,我看到了一些关于关闭某些安全设置的文章——这对我来说不是一个选项。显然,刷新页面也不起作用。

有任何想法吗?

4

1 回答 1

0

以下示例演示了如何在客户端通过 SocialDataServices 服务发表评论:

示例 1. 添加评论

//url parameter corresponds to Page Url
//comment parameter 
function addComment(url,comment)
{
     var soapEnv =
        "<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:Body>    \
                    <AddComment xmlns='http://microsoft.com/webservices/SharePointPortalServer/SocialDataService'> \
                                <url>" + url + "</url> \
                                <comment>" + comment + "</comment> \
                                <isHighPriority>false</isHighPriority> \
                                <title></title> \
                     </AddComment> \
              </soap:Body> \
         </soap:Envelope>";

    $.ajax({
        result: result,
        url: _spPageContextInfo.webServerRelativeUrl + "/_vti_bin/SocialDataService.asmx",
        type: "POST",
        dataType: "xml",
        data: soapEnv,
        contentType: "text/xml; charset=\"utf-8\"",
        beforeSend: function (xhr) {
                        xhr.setRequestHeader("SOAPAction", "http://microsoft.com/webservices/SharePointPortalServer/SocialDataService/AddComment");
                },
        success: function(data, status, xhr){
           //..
        }
    });
}  

示例 2. 使用SPServices 库添加注释

function addComment(url,comment)
{

   $().SPServices({
        operation: "AddComment",
        url: url,
        title:'',
        comment:comment,
        completefunc: function (xData, Status) {
           console.log($(xData.responseXML));
        }
    });
}

用法:

addComment('http://intranet.contoso.com/pages/somenews.aspx','new comment goes here');
于 2013-10-30T16:08:36.643 回答