1

我用sharepoint 2007为自己创建了一个自定义列表,它与任何有效的excel电子表格完全相同。

有人告诉我,我可以将所有信息作为 json 或 XML 对象获取。我无权访问文件系统,只能访问 sharepoint Web 界面。

我可以只使用一个网址并做我的正常工作getJson吗?

    $.getJSON("http://somesharepointurl.asp?get=json",function(results){
        console.info(results);
        $.each(results, function(){

        });
    });

或者如果不编写一些后端服务就没有办法做到这一点?

编辑

https://someserver/sites/DisasterRecovery/eventmgmt/DRR/_vti_bin/owssvr.dll?Cmd=Display&List={B0ACA997-8A41-498B-97FE-B276D48F64D7}&XMLDATA=TRUE

我试过这个......它给了我这个:

HTTP/1.1 200 OK
Server: Microsoft-IIS/7.5
Date: Fri, 14 Dec 2012 11:41:55 GMT
Connection: close

不知道要找什么我害怕:(

4

4 回答 4

3
  1. SharePoint 2007 不为您提供 JSON 格式的结果,仅提供 SOAP/XML Web 服务和您在更新中引用的 URL 协议
  2. 确保将 /_vti_bin 部分附加到正确子站点的地址,而不是库(尽管如果你犯了这个错误,你会得到 404)
于 2012-12-14T12:51:14.943 回答
2

找到了简单的答案:

jquery.SPServices

您将需要 jQuery 1.4.2+ 来运行它,但它太棒了:) 它有更多的方法,而不仅仅是返回 XML 或 json。

 var query = "<Query><OrderBy><FieldRef Name='Created' Ascending='False' /></OrderBy</Query>";
 $().SPServices({
     operation:"GetListItems",
     async:false,
     listName:"Home Page Carousel",
     CAMLViewFields:"<ViewFields><FieldRef Name='userName'/><FieldRef Name='userDepartment'/><FieldRef Name='message'/></ViewFields>",
     CAMLQuery:query,
     CAMLRowLimit:10,
     completefunc:function (xData, Status) {
     console.info(xData);
     console.info(Status);
         $(xData.responseXML).SPFilterNode("z:row").each(function () {
             var $this = $(this);
             $this.attr("ows_message")//retrieve list data here and do stuff here
         });
     }
 });

这将返回一个可爱的 XML 块。

于 2012-12-14T13:42:52.670 回答
1

另一种选择,在 sharepoint 2010 中尝试使用像这样的 OData : http://webname/_vti_bin/ListData.svc/listname,过滤和排序的功能与标准 OData 相同,可以在这里找到参考:http ://www.odata.org/documentation

于 2012-12-17T01:33:49.190 回答
0

尝试将 &Query=* 添加到 URL 查询字符串

于 2012-12-14T12:47:28.360 回答